資料結構 (鍊錶)

2021-10-03 20:29:20 字數 1642 閱讀 6966

鍊錶基本操作函式,完成帶頭結點的鍊錶函式的定義

鍊錶長度,鍊錶元素輸出,查詢第i個節點的指標,指定位置插入元素, 查詢某元素的鍊錶結點位置

#include

#include

using namespace std;

typedef

struct list

*list, lnode;

void

initlist

(list *l)

/* 初始化鍊錶 */

intlength

(list l)

//帶頭結點的單鏈表長度

return j;

}void

outputlist

(list l)

}//*查詢第i個節點的指標

lnode *

find

(list l,

int i)

if(i == j)

return

(p);

else

return

null;}

void

insertlist1

(list l,

int item,

int rc)

/* 向鍊錶指定位置[rc]插入元素[item]*/

}void

order

(list l)

//排序,鍊錶變為公升序

//插入合適位置

l2->next = l1;

pre->next = l2;}}

void

insertlist2

(list l,

int item)

/* 向有序鍊錶l插入鍵值為[item]的結點 */

s =(lnode*

)malloc

(sizeof

(lnode));

s->data = item;

s->next = q;

p->next = s;

cout <<

"將l變為有序表,在有序表中插入元素"

<< item <<

"後為:"

<< endl;

outputlist

(l);

}/* 查詢鍵值為[item]的鍊錶結點位置, 返回》=1: 找到 -1: 沒找到 */

intfindlist

(list l,

int item)

if(p->data == item)

return j;

else

return-1

;}/* 刪除鍵值為[item]的鍊錶結點, 返回0: 刪除成功 1: 沒找到 */

intdeletelist

(list l,

int item)

else

return1;

}//輸出鍊錶元素

void

main()

注:鍊錶中的元素是insertlist1(l, x, i)逐個插入的,鍊錶中的元素已預定義好。

測試示例:

資料結構 鍊錶

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

資料結構 鍊錶

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

資料結構 鍊錶

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