标签:void bsp get data while malloc head color typedef
1 /*求表长*/ 2 3 4 #include<stdio.h> 5 #include<stdlib.h> 6 7 //链表中节点的结构 8 typedef struct Link { 9 int data; 10 struct Link* next; 11 }link; 12 13 //链表初始化 14 link* initByTailInsert() { 15 link* phead = NULL;//创建头指针 16 link* first_node = (link*)malloc(sizeof(link));//创建第一个节点 17 //第一个结点先初始化 18 first_node->data = 1; 19 first_node->next = NULL; 20 phead = first_node;//头指针指向第一个节点 21 22 //尾插入赋值 23 for (int i = 2; i < 5; i++) { 24 link* new_node = (link*)malloc(sizeof(link)); //申请新的结点 25 new_node->data = i; 26 new_node->next = NULL; 27 first_node->next = new_node; //第一个结点的指针域指向这个新申请的结点 28 first_node = new_node; //第一个结点后移 29 } 30 31 printf("头指针指向的值是:%d\n", phead->data);//1 32 return phead; //将指向第一个结点的头指针返回 33 } 34 35 36 37 void showLink(link* phead) { 38 link* tmp = phead;//将头指针赋给tmp,tmp也是一个头指针 39 //只要tmp指针指向的结点的next不是Null,就执行输出语句。 40 while (tmp != NULL) { 41 printf("%d ", tmp->data); 42 tmp = tmp->next; 43 } 44 printf("\n"); 45 } 46 47 48 //求链表的表长 49 int getLinkLength(link* phead) { 50 link* tmp = phead; 51 int len = 0; 52 while (tmp != NULL) { 53 len++; 54 tmp = tmp->next; 55 } 56 return len; 57 } 58 59 60 void main() { 61 //初始化链表(1,2,3,4) 62 printf("初始化链表为:\n"); 63 link* phead = initByTailInsert(); //创建头指针,得到经过初始化后的头指针 64 showLink(phead); 65 printf("表的长度是:%d\n", getLinkLength(phead)); 66 }
标签:void bsp get data while malloc head color typedef
原文地址:https://www.cnblogs.com/shanlu0000/p/12459811.html