亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

python單向循環鏈表原理與實現方法示例

2024-09-09 19:02:54
字體:
來源:轉載
供稿:網友

本文實例講述了python單向循環鏈表原理與實現方法。分享給大家供大家參考,具體如下:

單向循環鏈表

單鏈表的一個變形是單向循環鏈表,鏈表中最后一個節點的next域不再為None,而是指向鏈表的頭節點。

操作

is_empty() 判斷鏈表是否為空 length() 返回鏈表的長度 travel() 遍歷 add(item) 在頭部添加一個節點 append(item) 在尾部添加一個節點 insert(pos, item) 在指定位置pos添加節點 remove(item) 刪除一個節點 search(item) 查找節點是否存在

實現

# -*- coding:utf-8 -*-#! python3class Node(object):  """節點"""  def __init__(self, item):    self.item = item    self.next = Noneclass SinCycLinkedlist(object):  """單向循環鏈表"""  def __init__(self):    self.__head = None  def is_empty(self):    """判斷鏈表是否為空"""    return self.__head == None  def length(self):    """返回鏈表的長度"""    # 如果鏈表為空,返回長度0    if self.is_empty():      return 0    count = 1    cur = self.__head    while cur.next != self.__head:      count += 1      cur = cur.next    return count  def travel(self):    """遍歷鏈表"""    if self.is_empty():      return    cur = self.__head    print(cur.item,)    while cur.next != self.__head:      cur = cur.next      print(cur.item,)    print("")  def add(self, item):    """頭部添加節點"""    node = Node(item)    if self.is_empty():      self.__head = node      node.next = self.__head    else:      # 添加的節點指向_head      node.next = self.__head      # 移到鏈表尾部,將尾部節點的next指向node      cur = self.__head      while cur.next != self.__head:        cur = cur.next      cur.next = node      # _head指向添加node的      self.__head = node  def append(self, item):    """尾部添加節點"""    node = Node(item)    if self.is_empty():      self.__head = node      node.next = self.__head    else:      # 移到鏈表尾部      cur = self.__head      while cur.next != self.__head:        cur = cur.next      # 將尾節點指向node      cur.next = node      # 將node指向頭節點_head      node.next = self.__head  def insert(self, pos, item):    """在指定位置添加節點"""    if pos <= 0:      self.add(item)    elif pos > (self.length() - 1):      self.append(item)    else:      node = Node(item)      cur = self.__head      count = 0      # 移動到指定位置的前一個位置      while count < (pos - 1):        count += 1        cur = cur.next      node.next = cur.next      cur.next = node  def remove(self, item):    """刪除一個節點"""    # 若鏈表為空,則直接返回    if self.is_empty():      return    # 將cur指向頭節點    cur = self.__head    pre = None    while cur.next != self.__head:      if cur.item == item:        # 先判斷此結點是否是頭節點        if cur == self.__head:          # 頭節點的情況          # 找尾節點          rear = self.__head          while rear.next != self.__head:            rear = rear.next          self.__head = cur.next          rear.next = self.__head        else:          # 中間節點          pre.next = cur.next        return      else:        pre = cur        cur = cur.next    # 退出循環,cur指向尾節點    if cur.item == item:      if cur == self.__head:        # 鏈表只有一個節點        self.__head = None      else:        # pre.next = cur.next        pre.next = self.__head  def search(self, item):    """查找節點是否存在"""    if self.is_empty():      return False    cur = self.__head    if cur.item == item:      return True    while cur.next != self.__head:      cur = cur.next      if cur.item == item:        return True    return Falseif __name__ == "__main__":  ll = SinCycLinkedlist()  ll.add(1)  ll.add(2)  ll.append(3)  ll.insert(2, 4)  ll.insert(4, 5)  ll.insert(0, 6)  print("length:", ll.length())  ll.travel()  print(ll.search(3))  print(ll.search(7))  ll.remove(1)  print("length:", ll.length())  ll.travel()
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品不卡视频| 成人久久久久爱| 日韩免费观看高清| 一区二区三区黄色| 成人黄色免费网站在线观看| 亚洲欧美国产日韩天堂区| 亚洲精品综合久久中文字幕| 欧美精品少妇videofree| 国内自拍欧美激情| 欧美成人一二三| 国内精品在线一区| 在线成人一区二区| 成人黄色免费片| 色与欲影视天天看综合网| 国产视频精品免费播放| 亚洲视频综合网| 国产精品免费网站| 国产69精品99久久久久久宅男| 亚洲精品美女在线观看| 国产日韩在线精品av| 亚洲男人第一av网站| 亚洲欧洲一区二区三区在线观看| 午夜精品久久久久久久99热浪潮| 国产精品99久久久久久白浆小说| 国产精品男人的天堂| 疯狂蹂躏欧美一区二区精品| 国产aⅴ夜夜欢一区二区三区| 俺也去精品视频在线观看| 中文字幕精品在线| www国产精品视频| 亚洲欧美日韩国产精品| 欧美怡春院一区二区三区| 亚洲国产成人一区| 精品人伦一区二区三区蜜桃网站| 北条麻妃在线一区二区| 亚洲曰本av电影| 日本久久久久亚洲中字幕| 欧洲一区二区视频| 人妖精品videosex性欧美| 国产日韩中文字幕在线| 精品香蕉一区二区三区| 日韩美女在线看| 亚洲色图av在线| 日韩精品视频免费在线观看| 欧美精品福利视频| 98精品国产自产在线观看| 亚洲国产成人精品久久| 68精品国产免费久久久久久婷婷| 日本精品在线视频| 成人做爰www免费看视频网站| 美日韩精品免费视频| 91亚洲精品一区二区| 国产视频在线一区二区| 68精品国产免费久久久久久婷婷| 国产丝袜一区视频在线观看| 萌白酱国产一区二区| 久久97精品久久久久久久不卡| 国产精品久久在线观看| 久热国产精品视频| 97视频免费看| 欧美激情亚洲一区| 亚洲国产精彩中文乱码av在线播放| 日本欧美一二三区| 国产欧美日韩免费看aⅴ视频| 蜜臀久久99精品久久久无需会员| 深夜福利91大全| 久久久久久国产精品| 国产欧美中文字幕| 亚洲第一在线视频| 亚洲无限av看| 免费不卡欧美自拍视频| 欧美日韩国产va另类| 日韩中文av在线| 成人精品久久久| 日韩最新在线视频| 欧美电影院免费观看| 国产精品视频网| 国产精品18久久久久久麻辣| www.日韩.com| 国产精品亚洲第一区| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲欧美日韩国产精品| 久久69精品久久久久久国产越南| 欧美性猛交xxxx免费看漫画| 超碰97人人做人人爱少妇| 92裸体在线视频网站| 在线丨暗呦小u女国产精品| 亚洲**2019国产| 亚洲精品久久久久久下一站| 美女久久久久久久久久久| 国产综合香蕉五月婷在线| 中文字幕精品在线| 国产精品扒开腿爽爽爽视频| 欧美乱大交xxxxx另类电影| 国产成人精品免高潮费视频| 日韩欧美国产一区二区| 亚洲女同性videos| 91视频8mav| 成人在线播放av| 91精品久久久久久综合乱菊| 国产97在线播放| 亚洲最新av在线| 久久97久久97精品免视看| 色综合久久中文字幕综合网小说| 91亚洲精华国产精华| 另类美女黄大片| 欧美日韩国产91| 国产一区二区三区高清在线观看| 久久久亚洲网站| 亚洲午夜精品久久久久久性色| 久久在线免费视频| 精品久久久久久久大神国产| 国产精品久久久精品| 国产欧美一区二区三区四区| 亚洲精品一区二区三区婷婷月| 国产精品久久网| 91在线精品播放| 中文字幕日韩有码| 精品国产欧美成人夜夜嗨| 成人黄色短视频在线观看| 亚洲嫩模很污视频| 亚洲第一页自拍| 久久久女人电视剧免费播放下载| 亚洲精品一区二区三区婷婷月| 欧美性xxxx极品高清hd直播| 日韩成人中文电影| 在线看福利67194| 亚洲欧美第一页| 91国产精品电影| 久久久久久久一区二区| 久久免费视频观看| 7m第一福利500精品视频| 亚洲精选中文字幕| 97视频在线观看免费高清完整版在线观看| 国内精品一区二区三区四区| 日韩亚洲欧美成人| 欧美视频裸体精品| 亚洲色图美腿丝袜| 色噜噜狠狠色综合网图区| 少妇高潮久久77777| 国产精品扒开腿做| 国产美女被下药99| 麻豆成人在线看| 国产精品激情自拍| 久久免费视频这里只有精品| 91福利视频网| 国产精品吴梦梦| 国产成人拍精品视频午夜网站| 欧美另类第一页| 国产精品99久久久久久久久久久久| 国产成人精彩在线视频九色| 欧美一区二区色| 国产精品色悠悠| 久久久精品一区二区| 欧美亚洲另类激情另类| 国产91精品久久久久| 最新69国产成人精品视频免费| 久久久久久久一区二区三区| 亚洲美女在线视频| 亚洲精品久久久久中文字幕二区| 欧美精品手机在线| 69视频在线播放| 久久不射热爱视频精品| 日韩欧美国产中文字幕|