王道資料結構鍊錶C語言版

2021-10-16 16:20:08 字數 1046 閱讀 3373

#include

"stdio.h"

#include

"stdlib.h"

#include

"stdbool.h"

typedef

struct lnode lnode,

*linkedlist;

// 初始化乙個單鏈表(帶頭結點)

linkedlist initlist

(linkedlist l)

l->next =

null

;// 頭結點之後暫時還沒有結點

return l;

}/**

* 在第i個位置插入元素e(帶頭結點)

*/ bool listinsert

(linkedlist l,

int i,

int e)

lnode *p;

// 建立乙個當前指向的結點

p = l;

// 初始化指向到頭結點

int j =1;

while

(j < i)

lnode *s;

// 新建乙個待插入的新節點

s =(lnode *

)malloc

(sizeof

(lnode));

// 給新節點分配記憶體

s->data = e;

// 給新節點放入資料

s->next = p->next;

// 新節點指向當前結點的下乙個結點

p->next = s;

// 原結點指標改為指向到新建立的結點

}readall

(linkedlist l)

}deleteitem

(linkedlist l,

int i)

lnode * t = s->next;

s->next = s->next->next;

free

(t);

}int

main()

資料結構 鍊錶(C語言版)

程式 include include include define error 0 define ok 1 define true 1 define false 0 define overflow 2 typedef int elemtype 定義鍊錶元素的型別 typedef int status...

資料結構鍊錶C語言版 單向鍊錶詳解

最近在準備計算機考研,正在複習資料結構的知識點,剛開始學習鍊錶的時候實在是有些痛苦,在痛苦了幾個小時後,終於有所收穫,在此記錄一下 相鄰元素之間通過指標連線。最後乙個元素的後繼指標為null。鍊錶的空間能夠按需分配。沒有記憶體空間的浪費。typedef struct node node 定義乙個st...

資料結構 有序鍊錶合併(C語言版)

有序鍊錶合併 兩個有序的鍊錶,要求將其合併為乙個鍊錶,並且該鍊錶保持有序!這裡所講的是鍊錶公升序!首先,我們要構造兩張按照公升序排列好的鍊錶。構造鍊錶 我們的方法有尾插,頭插,大家可以click鏈結來檢視 這裡我們的實驗資料,以及思路如圖所示!實驗資料 鍊錶1 1,3,5,7 鍊錶2 1,2,4 5...