鍊錶資料結構

2022-09-16 09:57:12 字數 2016 閱讀 3603

python實現鍊錶的**如下所示:

#鍊錶的建立和連線函式

#鍊錶是由資料域item和next連線關係class node:

def __init__(self,item):

self.item=item

self.next=none

a=node(1)

b=node(2)

c=node(3)

a.next=b

b.next=c

print(a.next.item)

#頭插法建立鍊錶(倒序)

def creat_linklist_head(li):

head=node(li[0])

for element in li[1:]:

node=node(element)

node.next=head

head=node

return head

#尾插法建立鍊錶(順序)

def creat_linklist_tail(li):

head=node(li[0])

tail=head

for element in li[1:]:

node=node(element)

tail.next=node

tail=node

return head

#列印鍊錶的各個元素的函式

def print_linklist(lk):

while lk:

print(lk.item,end=",")

lk=lk.next

lk=creat_linklist_head([1,2,3])

print_linklist(lk)

lk=creat_linklist_tail([1,2,3])

print_linklist(lk)

#鍊錶的插入與刪除,時間複雜度為o(1)

p=node(100)

curnode=node(3)

curnode.next=node(4)

#鍊錶的插入與刪除

#插入p.next=curnode.next.next

curnode.next=p

#刪除p=curnode.next

curnode.next=curnode.next.next

del p

#雙鏈表:節點與節點之間雙向指向,next和periro

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...

資料結構 鍊錶

鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...

資料結構 鍊錶

一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...