欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

c语言双向链表

发布时间:2025/5/22 编程问答 7 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c语言双向链表 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

c语言双向链表的创建、遍历。

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 5 6 typedef struct Node 7 { 8 int data; 9 int index; 10 struct Node *prev, *next; 11 }NODE; 12 13 //创建双向链表 14 NODE* CreateList(int length) 15 { 16 NODE *pTail = NULL; 17 NODE *pNew = NULL; 18 NODE *pHead = (NODE*)malloc(sizeof(NODE)); //创建头指针 19 if (pHead == NULL) 20 { 21 printf("create List failed\r\n"); 22 return NULL; 23 } 24 pHead->data = random()%1000; 25 pHead->prev = NULL; 26 pHead->next = NULL; 27 pTail = pHead; 28 29 int i; 30 for(i = 1; i < length; i++) 31 { 32 pNew = (NODE*)malloc(sizeof(NODE)); 33 if (pNew == NULL) 34 { 35 printf("create List failed\r\n"); 36 return NULL; 37 } 38 pNew->data = random()%1000; 39 pNew->prev = pTail; 40 pNew->next = NULL; 41 42 pTail->next = pNew; 43 pTail = pNew; 44 } 45 return pHead; 46 } 47 48 void printList(NODE* pHead) 49 { 50 int count = 0; 51 if (pHead == NULL) 52 { 53 return; 54 } 55 while(pHead) 56 { 57 printf("%2d: %d\r\n", count, pHead->data); 58 count++; 59 pHead = pHead->next; 60 } 61 } 62 63 int main(int argc, char** argv) 64 { 65 NODE *pHead = CreateList(10); 66 67 printList(pHead); 68 }

 

转载于:https://www.cnblogs.com/shawn-meng/p/8512916.html

总结

以上是生活随笔为你收集整理的c语言双向链表的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。