@@ -19,13 +19,13 @@ def __init__(self, key, prev, next):
19
19
self .next = next
20
20
21
21
def __str__ (self ):
22
- return "" . join ([ str (self .key ), "-->" ] )
22
+ return str (self .key )
23
23
24
24
def __init__ (self , * arg ):
25
25
super (LinkedList , self ).__init__ ()
26
- self .__nil = LinkedList .Node (None , None , None )
27
- self .__nil .prev = self .__nil
28
- self .__nil .next = self .__nil
26
+ self .__dump = LinkedList .Node (None , None , None )
27
+ self .__dump .prev = self .__dump
28
+ self .__dump .next = self .__dump
29
29
self .__length = 0
30
30
for key in arg :
31
31
self .append (key )
@@ -34,7 +34,7 @@ def insert(self, index, value):
34
34
if index > self .__length :
35
35
raise IndexError ("can not insert beyond the list" )
36
36
cur_pos = 0
37
- cur_node = self .__nil
37
+ cur_node = self .__dump
38
38
while cur_pos < index :
39
39
cur_node = cur_node .next
40
40
cur_pos += 1
@@ -46,39 +46,39 @@ def insert(self, index, value):
46
46
return node
47
47
48
48
def append (self , value ):
49
- last_node = self .__nil .prev
50
- node = LinkedList .Node (value , last_node , self .__nil )
49
+ last_node = self .__dump .prev
50
+ node = LinkedList .Node (value , last_node , self .__dump )
51
51
# 现在结尾的节点指向新加的结尾点
52
52
last_node .next = node
53
- self .__nil .prev = node
53
+ self .__dump .prev = node
54
54
self .__length += 1
55
55
# 处理空链表的情况
56
- if self .__nil .next is self .__nil :
57
- self .__nil .next = node
56
+ if self .__dump .next is self .__dump :
57
+ self .__dump .next = node
58
58
return node
59
59
60
60
def prepend (self , value ):
61
- node = LinkedList .Node (value , self .__nil , self .__nil .next )
62
- self .__nil .next = node
63
- self .__nil .next .prev = node
61
+ node = LinkedList .Node (value , self .__dump , self .__dump .next )
62
+ self .__dump .next = node
63
+ self .__dump .next .prev = node
64
64
# 处理空链表的情况
65
- if self .__nil .prev is self .__nil :
66
- self .__nil .prev = node
65
+ if self .__dump .prev is self .__dump :
66
+ self .__dump .prev = node
67
67
self .__length += 1
68
68
return node
69
69
70
70
def search (self , value ):
71
- cur_node = self .__nil .next
72
- while cur_node is not self .__nil and cur_node .key != value :
71
+ cur_node = self .__dump .next
72
+ while cur_node is not self .__dump and cur_node .key != value :
73
73
cur_node = cur_node .next
74
74
return cur_node .key
75
75
76
76
def delete (self , value ):
77
- cur_node = self .__nil .next
78
- while cur_node is not self .__nil and cur_node .key != value :
77
+ cur_node = self .__dump .next
78
+ while cur_node is not self .__dump and cur_node .key != value :
79
79
cur_node = cur_node .next
80
80
# 如果不是空链表,那么就是查找到了相应的元素
81
- if cur_node is not self .__nil :
81
+ if cur_node is not self .__dump :
82
82
cur_node .prev .next = cur_node .next
83
83
cur_node .next .prev = cur_node .prev
84
84
@@ -88,12 +88,12 @@ def __len__(self):
88
88
return self .__length
89
89
90
90
def __str__ (self ):
91
- cur_node = self .__nil .next
91
+ cur_node = self .__dump .next
92
92
li = []
93
- while cur_node is not self .__nil :
93
+ while cur_node is not self .__dump :
94
94
li .append (str (cur_node ))
95
95
cur_node = cur_node .next
96
- return " " .join (li )
96
+ return '[' + ", " .join (li ) + ']'
97
97
98
98
99
99
def main ():
0 commit comments