一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python單鏈表簡單實現代碼

Python單鏈表簡單實現代碼

2020-08-21 10:18陽光_如此耀眼 Python

這篇文章主要介紹了Python單鏈表簡單實現代碼,結合實例形式分析了Python單鏈表的具體定義與功能實現技巧,需要的朋友可以參考下

本文實例講述了Python單鏈表簡單實現代碼。分享給大家供大家參考,具體如下:

用Python模擬一下單鏈表,比較簡單,初學者可以參考參考

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#coding:utf-8
class Node(object):
  def __init__(self, data):
    self.data = data
    self.next = None
class NodeList(object):
  def __init__(self, node):
    self.head = node
    self.head.next = None
    self.end = self.head
  def add_node(self, node):
    self.end.next = node
    self.end = self.end.next
  def length(self):
    node = self.head
    count = 1
    while node.next is not None:
      count += 1
      node = node.next
    return count
  # delete node and return it's value
  def delete_node(self, index):
    if index+1 > self.length():
      raise IndexError('index out of bounds')
    i = 0
    node = self.head
    while True:
      if i==index-1:
        break
      node = node.next
      i += 1
    tmp_node = node.next
    node.next = node.next.next
    return tmp_node.data
  def show(self):
    node = self.head
    node_str = ''
    while node is not None:
      if node.next is not None:
        node_str += str(node.data) + '->'
      else:
        node_str += str(node.data)
      node = node.next
    print node_str
  # Modify the original position value and return the old value
  def change(self, index, data):
    if index+1 > self.length():
      raise IndexError('index out of bounds')
    i = 0
    node = self.head
    while True:
      if i == index:
        break
      node = node.next
      i += 1
    tmp_data = node.data
    node.data = data
    return tmp_data
  # To find the location of index value
  def find(self, index):
    if index+1 > self.length():
      raise IndexError('index out of bounds')
    i = 0
    node = self.head
    while True:
      if i == index:
        break
      node = node.next
      i += 1
    return node.data
#test case
n1 = Node(0)
n2 = Node(1)
n3 = Node(2)
n4 = Node(3)
n5 = Node(4)
node_list = NodeList(n1)
node_list.add_node(n2)
node_list.add_node(n3)
node_list.add_node(n4)
node_list.add_node(n5)
#node = node_list.delete_node(3)
#print node
#d = node_list.change(0,88)
data = node_list.find(5)
print data
node_list.show()
 

希望本文所述對大家Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美成人中文在线网站 | 免费看黄色片的网站 | 日韩视频免费一区二区三区 | 青青草原社区 | juliaann大战七个黑人 | 香蕉国产成版人视频在线观看 | 无限在线观看视频大全免费高清 | 欧美日韩国产最新一区二区 | 欧美日韩国产手机在线观看视频 | 国产香蕉一区二区在线网站 | 欧美福利在线播放 | 国产一久久香蕉国产线看观看 | 91高清在线视频 | 精新精新国产自在现拍 | 久久婷婷电影网 | 午夜视频在线网站 | 日本亚洲娇小与黑人tube | 精品日韩欧美一区二区三区 | 91精品国产美女福到在线不卡 | 日本偷拍xxxxxxww | 男人与雌性宠物交啪啪小说 | 亚洲精品一二三四区 | 国产精品美女福利视频免费专区 | 亚洲天堂三区 | 免费aⅴ片 | bdsm中国精品调教 | 欧美精品一区二区在线观看播放 | 3d动漫免费 | 青青91 | 亚洲第一永久色 | 欧美成人三级伦在线观看 | a天堂中文在线 | 天堂资源8中文最新版 | 亚洲精品免费在线 | 免费看视频| 亚洲v成人天堂影视 | 国产馆精品推荐在线观看 | 国产欧美一区二区精品久久久 | 日本一区二区精品88 | 青春草视频免费观看 | 欧美日韩精彩视频 |