最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python單向鏈表的基本實(shí)現(xiàn)與使用方法【定義、遍歷、添加、刪除、查找等】

 更新時(shí)間:2019年10月24日 09:16:08   作者:鯨落丶  
這篇文章主要介紹了python單向鏈表的基本實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了Python單向鏈表的定義、遍歷、添加、刪除、查找等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python單向鏈表的基本實(shí)現(xiàn)與使用方法。分享給大家供大家參考,具體如下:

# -*- coding:utf-8 -*-
#! python3
class Node():
  def __init__(self,item):
    #初始化這個(gè)節(jié)點(diǎn),值和下一個(gè)指向
    self.item = item
    self.next = None
class SingleLinklist():
  def __init__(self):
    #初始化這個(gè)單鏈表的頭指針為空
    self._head = None
  def length(self):
    #獲取這個(gè)鏈表的長(zhǎng)度
    count = 0
    cur = self._head
    while cur != None:
      count+=1
      cur = cur.next
    return count
  def is_empty(self):
    """判斷是否為空"""
    return self._head == None
  def add(self,item):
    """在頭部添加元素"""
    node = Node(item)
    node.next = self._head
    self._head = node
  def append(self,item):
    """在尾部添加元素"""
    cur = self._head
    node = Node(item)
    while cur != None:
      cur = cur.next
    cur.next = node
  def insert(self,pos,item):
    """在選定的位置添加元素"""
    cur = self._head
    node = Node(item)
    count = 0
    if pos <= 0:
      self.add(item)
    elif pos > (self.length()-1):
      self.append(item)
    else:
      while count < (pos -1):
        count+=1
        cur = cur.next
      node.next = cur.next
      cur.next = node
  def travel(self):
    """遍歷整個(gè)鏈表"""
    cur = self._head
    while cur != None:
      print(cur.item,end=" ")
      cur = cur.next
    print(" ")
  def remove(self,item):
    """刪除鏈表"""
    cur = self._head
    pre =None
    while cur != None:
      if cur.item == item:
        if not pre:
          self._head = cur.next
          break
        else:
          pre.next = cur.next
      else:
        pre = cur #
        cur = cur.next
  def search(self,item):
    """查找某個(gè)節(jié)點(diǎn)"""
    cur = self._head
    while cur != None:
      if cur.item == item:
        print("找到這個(gè)元素了")
        return True
      cur = cur.next
    print("抱歉沒(méi)有這個(gè)元素")
    return False
singlistdemo = SingleLinklist()
singlistdemo.add(1)
singlistdemo.add(2)
singlistdemo.add(65)
singlistdemo.insert(2,77)
singlistdemo.insert(1,66)
singlistdemo.insert(0,66)
print(singlistdemo.length())
singlistdemo.travel()
singlistdemo.remove(1)
singlistdemo.travel()
singlistdemo.search(65)

運(yùn)行結(jié)果:

6
66 65 66 2 77 1 

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python isalpha()函數(shù)的具體使用方法詳解

    Python isalpha()函數(shù)的具體使用方法詳解

    這篇文章主要介紹了Python isalpha()函數(shù)的具體使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python中的random()方法的使用介紹

    Python中的random()方法的使用介紹

    這篇文章主要介紹了Python中的random()方法的使用,是Python入門(mén)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 利用python求積分的實(shí)例

    利用python求積分的實(shí)例

    今天小編就為大家分享一篇利用python求積分的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • PyTorch模型的保存與加載方法實(shí)例

    PyTorch模型的保存與加載方法實(shí)例

    Pytorch保存模型其實(shí)非常簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于PyTorch模型的保存與加載的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • pytorch 狀態(tài)字典:state_dict使用詳解

    pytorch 狀態(tài)字典:state_dict使用詳解

    今天小編就為大家分享一篇pytorch 狀態(tài)字典:state_dict使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 淺談python中常用的excel模塊庫(kù)

    淺談python中常用的excel模塊庫(kù)

    本文主要介紹了python中常用的excel模塊庫(kù),感興趣的同學(xué),可以參考下。
    2021-06-06
  • python?pip特殊用法之pip?install?-v?-e?.命令詳解

    python?pip特殊用法之pip?install?-v?-e?.命令詳解

    這篇文章主要給大家介紹了關(guān)于python?pip特殊用法之pip?install?-v?-e?.命令的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Django DRF認(rèn)證組件流程實(shí)現(xiàn)原理詳解

    Django DRF認(rèn)證組件流程實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了Django DRF認(rèn)證組件流程實(shí)現(xiàn)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 基于h5py的使用及數(shù)據(jù)封裝代碼

    基于h5py的使用及數(shù)據(jù)封裝代碼

    今天小編就為大家分享一篇基于h5py的使用及數(shù)據(jù)封裝代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python使用wxPython和PyMuPDF實(shí)現(xiàn)合并PDF文檔

    Python使用wxPython和PyMuPDF實(shí)現(xiàn)合并PDF文檔

    處理大量的PDF文檔可能會(huì)變得復(fù)雜和耗時(shí),但是,使用Python編程和一些強(qiáng)大的庫(kù),可以使這個(gè)任務(wù)變得簡(jiǎn)單而高效,下面我們就來(lái)看看Python如何使用wxPython和PyMuPDF合并PDF文檔并自動(dòng)復(fù)制到剪貼板吧
    2023-11-11

最新評(píng)論

长阳| 佛坪县| 宜春市| 玛多县| 伊金霍洛旗| 台东县| 呼玛县| 讷河市| 伊春市| 河南省| 武宁县| 蚌埠市| 鹿邑县| 平定县| 黔西县| 白玉县| 四平市| 益阳市| 志丹县| 保德县| 平泉县| 沁水县| 邢台县| 太谷县| 大化| 武川县| 汉沽区| 吴旗县| 若尔盖县| 桂林市| 日土县| 双峰县| 天气| 株洲县| 高陵县| 额敏县| 社旗县| 琼中| 包头市| 江口县| 崇信县|