資料結構 鍊錶

2021-10-14 01:43:46 字數 2314 閱讀 1368

#include

#include

typedef

struct node

node_t;

void

insert_list

(node_t *ph,

int x,

int pos)

//ph 頭節點 x待插入資料 pos待插入位置

//建立新節點

pnew =

(node_t*

)malloc

(sizeof

(node_t));

if(null

==pnew)

//賦值

pnew->data = x;

pnew->next =

null

;//插入

pnew->next = ptmp->next;

ptmp->next = pnew;

}node_t *

creat_empty_list()

q->next =

null

;return q;

}void

print_list

(node_t *ph)

}int

main()

void

delete_list

(node_t *ph,

int pos)

//刪除指定位置節點 pos 要刪除的位置

//刪除

pdel = ptmp->next;

ptmp->next = pdel->next;

pdel->next =

null

;//釋放

if(pdel!=

null

)}

#include

#include

typedef

struct node

node_t;

intlength_list

(node_t *ph)

//鍊錶長度 也就是資料節點個數

return count;

}void

insert_list

(node_t *ph,

int x,

int pos)

//ph 頭節點 x待插入資料 pos待插入位置

int i;

node_t *ptmp = ph,

*pnew=

null

;for

(i=0

;i1;i++

)//迴圈pos-1次 找到待插入位置的前乙個節點

//建立新節點

pnew =

(node_t*

)malloc

(sizeof

(node_t));

if(null

==pnew)

//賦值

pnew->data = x;

pnew->next =

null

;//插入

pnew->next = ptmp->next;

ptmp->next = pnew;

}node_t *

creat_empty_list()

//建立空鍊錶

q->next =

null

;return q;

}void

print_list

(node_t *ph)

//遍歷列印

putchar

('\n');

}void

delete_list

(node_t *ph,

int pos)

node_t *ptmp=ph,

*pdel=

null

;for

(i=0

;i1;i++

)//迴圈pos-1次 找到待刪除位置的前乙個節點

//刪除

pdel = ptmp->next;

ptmp->next = pdel->next;

pdel->next =

null

;//釋放

if(pdel!=

null)}

void

search_list

(node_t *ph,

int data)

//查詢鍊錶中是否存在data

}puts

("not found!");

}int

main()

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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