C語言雙向鍊錶

2021-09-06 20:12:59 字數 2247 閱讀 8617

原文:

c語言雙向鍊錶

今天寫了點雙向鍊錶的各種操作,寫插入的時候費了點時間,不過,現在看來還是值得耗費那點時間去寫的,這種小東西應該能信手拈來才行啊。

1

/*雙向鍊錶

*/2 #include 3 #include /*

strcmp(const char *,const char *) return 0 is equal*/4

5 typedef struct

dulnode

6stud;

10/*

建立,返回煉表頭指標,引數n-節點個數

*/11 stud *create(n);

12/*

查詢,返回節點位址,引數h-煉表頭指標,name為查詢條件

*/13 stud * search(stud *h,char *name);

14/*

刪除*/

15void del(stud *p);

16/*

顯示,引數-h,煉表頭節點,num-顯示節點個數

*/17

void show(stud *h,int

num);

18/*

求鍊錶長度

*/19

int length(stud *head);

20/*

插入節點,引數head-煉表頭節點,name-節點,n-節點位置

*/21 stud *insert(stud *head,char *name,int

n);

22int

main()

2336

void show(stud *head,int

num)

3745

if(num>length(head))

4650

if(strcmp(head->name,"") == 0)51

54else

5558

while

(sp)

59else

6569}70

}7172 stud *create(n)

7382 h->name[0] = '\0'

;83 h->prior =null;

84 h->next =null;

85/*

插入節點

*/86 p =h;

87for(i=0;i)

8895 p->next =s;

96 printf("

%d's name:\n

",i+1

);97 gets(s->name);

98 s->prior =p;

99 s->next = null;/*

末尾插入

*/100 p =s;

101}

102 p->next =null;

103return

(h);

104}

105106 stud * search(stud *head , char *name)

107117

else

118121

}122

if(re ==null)

123126

return

(re);

127}

128129

void del(stud *p)

130136

else

137142

}143

144int length(stud *head)

145

157}

158return

len;

159}

160161 stud *insert(stud *head , char *name , int

n)162

169 nhead =head;

170if(n>length(head)||n<0

)171

175/*

插入節點

*/176

while(cnt177181 p = (stud *)malloc(sizeof

(stud));

182if(p !=null)

183192

193return

nhead;

194 }

雙向鍊錶C語言

鍊錶結構定義 typedef struct node 建立鍊錶 int creat list struct node h h data 0 0 h llink null h rlink null return 1 清空鍊錶 int free list struct node h return 1 查...

C語言雙向鍊錶

雙向鍊錶基本結構 typedef struct pnode pnode 建立乙個雙向鍊錶,並列印出煉表中儲存的資料 include include 包含malloc函式 void main pnode 第乙個節點head pnode head malloc sizeof pnode head dat...

C語言 雙向鍊錶

typedef struct datalistdatalist 頭插法插入 沿next指標查詢 返回 null 或pos處的元素指標 datalist value datalist head,const unsigned int pos if i pos return op else return ...