順序鍊錶
#encoding=utf-8
class
sxlist
():def
__init__
(self,max):
self.maxlenth=max
self.data=
self.lenth=len(self.data)
defadd(self,key):
self.lent=len(self.data)
if self.lent<=(self.maxlenth-1):
self.data=self.data+[key]
self.lenth=self.lenth+1
else :
print("陣列已滿")
defisempty
(self):
if self.lenth==0:
print("列表為空")
return
true
else :
print("列表不為空")
return
false
defisfull
(self):
if self.lenth==max:
print("列表滿了")
return
true
else :
print("列表不滿")
return
false
defgetbyelem
(self,elem):
res=
for i in range(self.lenth):
if self.data[i]==elem:
res=res+[i]
if len(res)==0:
print("未找到")
return
false
else:
print("找到了,下標如下")
print(res)
return res
defdeleteindex
(self,num):
if self.isempty():
print("空表")
else:
if num>self.lenth-1:
print("刪除的索引項超過範圍")
return
false
else:
for i in range(self.lenth):
if i>num:
p=self.data[i]
self.data[i-1]=p
self.data=self.data[:-1]
self.lenth=self.lenth-1
print("刪除ok")
return
true
definsert
(self,key,num):
if num<0
and num>self.lenth+1:
print("過界")
elif num==self.lenth:
self.add(key)
else:
p=self.data[self.lenth-1]
for i in range(self.lenth):
if i>num and i1]
self.data[num]=key
self.add(p)
print(self.data)
print(self.lenth)
defgetbyindex
(self,num):
if num<0
and num>self.lenth:
print("過界")
else:
res=self.data[num]
print(res)
defcount
(self):
print(self.lenth)
return self.lenth
sx=sxlist(10)
print(sx.maxlenth)
print(sx.data)
print(sx.lenth)
sx.isempty()
sx.isfull()
sx.add(3)
print(sx.maxlenth)
print(sx.data)
print(sx.lenth)
sx.isempty()
sx.isfull()
sx.add(4)
sx.add(5)
sx.add(6)
sx.add(7)
sx.add(8)
print(sx.data)
sx.deleteindex(3)
sx.insert(9, 0)
sx.getbyindex(3)
sx.insert(33, 6)
sx.getbyelem(33)
sx.count()
python列表和鍊錶的區別 順序表和煉表的區別
一 從操作上角度 順序表和煉表都具有增 刪 查 改的相同功能,但演算法複雜度卻不相同。1 增 順序表往指定位置,不覆蓋的新增乙個值,後面的值日要往後移動,演算法複雜度為o n 鍊錶往指定位置新增乙個節點,需要從表頭遍歷到指定位置,演算法複雜度為o n 如果帶有索引的節點,演算法複雜度為o 1 2 刪...
鍊錶學習筆記 順序鍊錶
順序鍊錶的主要思想就是使用乙個整型陣列來儲存資料的指標。在建立記憶體的時候如圖,用後面的陣列來儲存指標。大量使用 給void重新起個名字 封裝使用的資料j 讓其對使用者是透明的 typedef void seqlist typedef void seqlistnode seqlist seqlist...
順序表及鍊錶
順序表 將表中元素乙個接乙個的存入一組連續的儲存單元中,這種儲存結構是順序結構。利用陣列單元的物理位置上的 優點 儲存空間連續,允許元素隨機訪問 缺點 長度固定,在分配記憶體之前要先確定好陣列長度,致使可能造成空間浪費 單鏈表 用一組任意的儲存單元存放線性表的元素,只包含指向下乙個節點的指標,只能單...