…
接上篇3.3 單鏈表刪除函式 remove_item( item),item 表示刪除的內容
def
remove_item
(self,item)
: cur=self._head
pre=
none
while
(cur!=
none):
if cur.item!=item:
pre=cur
cur=cur.
next
else
:# 判斷要刪除的元素是否為第乙個
if(pre==
none):
self._head=cur.
next
else
: pre.
next
=cur.
next
break
定義兩個指標,pre 是 cur 的前乙個位置。注意最後的 break,不然會進入死迴圈
3.4 單鏈表刪除函式 remove_pos( pos ),pos=n 表示刪除鍊錶中第 n 個元素
def
remove_pos
(self,pos)
: cur=self._head
pre=
none
count=
0if pos==1:
self._head=cur.
next
else
:while
(cur!=
none):
count=count+
1if count==pos:
pre.
next
=cur.
next
break
else
: pre=cur
cur=cur.
next
單鏈表相關演算法
include include using namespace std typedef int elemtype typedef struct node nodetype nodetype create s next null return head void dis nodetype head w...
單鏈表相關操作
這是自己寫的最長的一次 了 在機房敲了一天。以前一直用list來水鍊錶的題 這次終於體會到痛苦了 include include include include include include using namespace std typedef struct node 單鏈表 s,list vo...
單鏈表相關操作
typedef int sltdatatype typedef struct slistnode slistnode typedef struct slist slist 通過畫圖來理解無頭單向非迴圈鍊錶的相關操作 其中操作在圖中用簡易偽 描述 先將要插入的結點指向第乙個結點,然後頭指標指向插入的結...