哈囉各位前輩,這個鏈結串列是作業內容.
請建立一個具有排序及紀錄資料輸入順序的鏈結串列。假設資料節點類別及鏈結串列類別如下:
class Node:
def init(self, x):
self.data = x
self.next = None # 指向串列下一個節點
self.pre = None # 指向前一個輸入節點
class LinkedList:
def init(self):
self.head = None # 指向串列第一個節點
self.first = None # 指向第一個輸入節點
self.count = 0 # 記錄串列資料節點有幾個
def Insert(self, data):
''' 10, 2, 56, 8, 2, 10
此方法可以將資料節點插入鏈結串列中,資料節點的pre能指向前一個輸入的資料節點,next能指向鏈結串列的下一個節點。也就是說,
我們透過鏈結串列的head, next就可以得到鏈結串列從小排到大的節點,我們透過鏈結串列的first, pre就可以得到鏈結串列依輸入順序的資料節點。
'''
def DeleteInputList(self, pos):
'''
此方法可以將輸入鏈結串列位置在pos的資料節點刪除,位置編號從0開始。
'''
def DeleteSortList(self, pos):
'''
此方法可以將排序鏈結串列位置在pos的資料節點刪除,位置編號從0開始。
'''
def __DeleteNode(self, current):
'''
此方法可以將目前資料節點刪除。
'''
def PosISortList(self, pos): # 找到InputList位置pos的資料物件
'''
此方法找到排序鏈結串列位置pos的資料節點。
'''
def PosInputList(self, pos):
'''
此方法找到輸入鏈結串列位置pos的資料節點。
'''
def PreSortListByNode(self, current):
'''
此方法找到排序鏈結串列目前資料節點的前一個資料節點。
'''
def PreInputListByNode(self, current):
'''
此方法找到輸入鏈結串列目前資料節點的前一個資料節點。
'''
def ShowSortList(self):
'''
此方法顯示排序鏈結串所有的資料節點。
'''
def ShowInputList(self):
'''
此方法顯示輸入鏈結串列所有的資料節點。
'''
if name == 'main':
A = LinkedList() # init(self)自動執行,其中self代表A物件(變數)
# 依序插入資料10, 2, 56, 8, 2, 10
A.Insert(10)
A.Insert(2)
A.Insert(56)
A.Insert(8)
A.Insert(2)
A.Insert(10)
print('==ShowSortList()==')
A.ShowSortList()
print('==ShowInputList()==')
A.ShowInputList()
print('====刪除資料56======')
A.DeleteInputList(2) # 刪除資料56
print('==ShowSortList()==')
A.ShowSortList()
print('==ShowInputList()==')
A.ShowInputList()
希望有人能幫忙解惑!
https://ithelp.ithome.com.tw/articles/10264368?sc=iThelpR
keyword: 鏈結串列 Python
像這種基礎演算法關鍵字打好就會有答案,有不會再提問,像這樣沒有思考流程,直接把題目丟上來問,真的只有心情好的人會幫你寫。(當然你想辦法讓別人心情好也是OK,可能貼個捐石虎的或貓貓狗狗的或者捐血等證明就會有人幫你了)