iT邦幫忙

0

哈囉各位前輩,這個鏈結串列是作業內容.
請建立一個具有排序及紀錄資料輸入順序的鏈結串列。假設資料節點類別及鏈結串列類別如下:
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/upload/images/20221110/20154890MYYK2u02JJ.jpg
https://ithelp.ithome.com.tw/upload/images/20221110/20154890xGGDRCFHq4.jpg
希望有人能幫忙解惑!

nerv80736 iT邦新手 4 級 ‧ 2022-11-10 11:42:59 檢舉
是等答案的概念?! 不都是期中了 不是應該自己解,遇到問題才問 怎麼會是把整個問題拿上來 等答案?
ant1017 iT邦新手 2 級 ‧ 2022-11-10 14:18:34 檢舉
把前面學習的作業,兜起來應該就差不多是答案了
YT Mango iT邦新手 5 級 ‧ 2022-11-23 13:09:39 檢舉
不會用tag可以不要用
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
tryit
iT邦研究生 4 級 ‧ 2022-11-10 14:51:59

https://ithelp.ithome.com.tw/articles/10264368?sc=iThelpR
keyword: 鏈結串列 Python

像這種基礎演算法關鍵字打好就會有答案,有不會再提問,像這樣沒有思考流程,直接把題目丟上來問,真的只有心情好的人會幫你寫。(當然你想辦法讓別人心情好也是OK,可能貼個捐石虎的或貓貓狗狗的或者捐血等證明就會有人幫你了)

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-11 11:17:41

可以拿這篇去改

尼克 iT邦大師 1 級 ‧ 2022-11-11 17:09:33 檢舉

報告海綿大,看不懂!
/images/emoticon/emoticon01.gif

/images/emoticon/emoticon25.gif

我要發表回答

立即登入回答