資料結構 鍊錶

2021-10-21 19:44:51 字數 1921 閱讀 9435

/*

鍊錶與順序表的區別?

鍊錶--單鏈表還是雙鏈表?

鍊錶是否帶頭結點?

常規操作: 注意各個操作都有帶頭結點和不帶頭結點的兩個型別

initlist(linklist &l)初始化乙個單鏈表--

listinsert(linklist &l,int i,elemtype e)在鍊錶l的第i個位置插入元素e;

insertnextnode(lnode*p,elemtype e)在p結點後面插入元素e

insertpirornode(lnode*p,elemtype e)在p結點前面插入元素e

listdelete(linklist &l,int i,elemtype &e)刪除i處的元素e

deletenode(lnode *p) 刪除指定元素的結點---不能是最後乙個結點

*/#include#includetypedef int elemtype;

typedef struct lnode

lnode,*linklist;

//什麼時候用lnode* 什麼時候用linklist ----linklist強調這是乙個單鏈表 lnode* 強調這是乙個節點

//初始化乙個單鏈表

//不帶頭結點的情況

bool initlist(linklist &l)

//帶頭結點的情況

bool initlist(linklist &l)

//插入操作,在表l中的第i個位置上插入指定元素e。

//帶頭結點 --有乙個問題就是 沒有判斷輸入的有效性,這個因為前面struct中沒有設定,要在這個函式外面進行判斷

bool listinsert(linklist &l,int i,elemtype e)

//迴圈找到第i-1個結點

if(p==null)

return false;

lnode *s=(lnode*)malloc(sizeof(lnode));

s->data=e;

s->next=p->next;

p->next=s;

return true;

}//不帶頭結點的插入

bool listinsert(linklist &l,int i,elemtype e)

lnode *p;

int j=1;

p=l;

while (p!=null&&jnext;

j++;

}if(p==null)return false;

lnode *s=(lnode*)malloc(sizeof(lnode));

if(s==null)return false;

s->data=e;

s->next=p->next;

p->next=s;

return true;

}//在p結點後面插入元素e,,前面的在i處插入元素e的函式可以呼叫此函式

bool insertnextnode(lnode*p,elemtype e)

//在p結點之前插入元素e---注意看思路。!!!!

bool insertpriornode (lnode *p,elemtype e)

//刪除在i處的元素,並返回元素e

bool listdelete(linklist &l,int i,elemtype &e)

if(p==null)return false;

lnode *q=p->next;

e=q->data;

p->next=q->next;

free(q);

return true;

}//演算法時間複雜度o(n);

//刪除指定結點p

bool deletenode(lnode *p)

int main()

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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