用Python實現單鏈表的操作
阿新 • • 發佈:2018-11-11
直接看程式碼:
class Node(object): def __init__(self,elem): self.elem=elem self.next=None class SingleLinkList(object): def __init__(self,node=None): self.__head=node def is_empty(self): return self.__head==None def length(self): #計算表長 cur=self.__head count=0 while cur!=None: count+=1 cur=cur.next return count def travel(self): #遍歷單鏈表 cur=self.__head while cur!=None: print(cur.elem,end="") cur=cur.next print("") def add(self,item): #頭插法 node=Node(item) node.next=self.__head self.__head=node def append(self,item): node=Node(item) if self.is_empty(): self.__head=node else: cur=self.__head while cur!=None: cur=cur.next cur.next=node def insert(self,pos,item): if pos<=0: self.add(item) elif pos>(self.length()-1): self.append(item) else: pre=self.__head count=0 while count<(pos-1): count+=1 pre=pre.next node=Node(item) node.next=pre.next pre.next=node def remove(self,item): #刪除元素 cur=self.__head pre=None while cur!=None: if cur.elem==item: if cur.elem==self.__head: self.__head=cur.next else: pre.next=cur.next break else: pre=cur cur=cur.next def seach(self,item): #查詢元素 cur=self.__head while cur!=None: if cur.elem==item: return True else: cur=cur.next return False if __name__=="__main__": #主函式 sll=SingleLinkList() print(sll.is_empty()) print(sll.length()) sll.add(1) sll.add(2) sll.add(3) print(sll.is_empty()) print(sll.length()) sll.travel()
程式碼雖然看起來很多,但是單鏈表的操作基本都實現了。Python真的很簡便(Python使人“墮落”)。