單鏈表的實現

2022-09-16 14:54:07 字數 1928 閱讀 2256

1

//鏈式鍊錶c語言版

2 typedef int elemtype;

3 typedef struct node //

鏈式鍊錶定義

4listlink;

89 listlink* listinit()//

鏈式鍊錶初始化

1023

return

head;24}

2526 listlink* listget(listlink* list, elemtype e)//

按值查詢

2733

return

p;3435}

3637 listlink* listgetindex(listlink* list, int i)//

按位置查詢

3850

return

p;51}52

53 listlink* listinsert(listlink* list, int i, elemtype e)//

在第i個位置插入元素e

5464

65 listlink* s = (listlink*)malloc(sizeof

(listlink));

66 s->data =e;

67 s->next = temp->next;

68 temp->next =s;

69return

list;70}

7172 listlink* listinserthead(listlink* list, elemtype e)//

在頭部插入乙個元素

7381

82 listlink* listinsertend(listlink* list, elemtype e)//

在尾部插入乙個元素

8390 q = (listlink*)malloc(sizeof

(listlink));

91 q->data =e;

92 p->next =q;

93 q->next =nullptr;

94return

list;95}

9697 listlink* listdeleteindex(listlink* list, int i)//

按位置刪除元素

98106

if (!p || j > i)//

第i個結點不存在

107110 listlink* q = p->next;

111 p->next = q->next;

112free

(q);

113return

list;

114}

115116

bool listdeleteelem(listlink* list, elemtype e)//

按值刪除元素

117125

return

false

;126

}127

128void listclear(listlink* list)//

刪除順序鍊錶全部元素

129132

133int listlength(listlink* list)//

獲取順序鍊錶長度

134

142return

j;143

}144

145bool listempty(listlink* list)//

順序鍊錶是否為空

146150

151void listshow(listlink* list)//

遍歷鍊錶的每個元素

152159 cout <

160}

161162

intmain()

單鏈表的實現

include includetypedef struct node 定義鍊錶 snode snode creat 建立鍊錶的函式 q next null return head int length snode head 測鍊錶的結點數 return i void display snode he...

單鏈表的實現

單鏈表夜市線性表的一種表現形式,乙個表節點由乙個資料空間和乙個指標域組成。指標域記錄下乙個結點的位址。鍊錶在插入,刪除功能中效率高。但是讀取某個結點的時候需要順序讀取。效率不如順序儲存形式。下面是一些鍊錶實現的 鍊錶.cpp 定義控制台應用程式的入口點。include stdafx.h define...

單鏈表的實現

單鏈表是資料結構中重要並且基礎的一環,學習資料結構就需要知道單鏈表有的常用操作。1 單鏈表的頭插式建立 2 單鏈表的尾插式建立 3 單鏈表的長度計算 4 單鏈表的列印輸出 5 單鏈表的釋放操作 6 單鏈表是否為空判斷 7 單鏈表在指定index插入指定元素 8 單鏈表刪除指定index的節點 9 單...