c/c++ 数据结构 链表插入数据代码(一)
链表插入数据,有两种方法,链表头定义为指针。
1.指针传递
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct LNode{ 5 int data; 6 struct LNode *next; 7 } LNode, *LinkList; 8 9 LNode * create(){ 10 return (LNode *)malloc(sizeof(LNode)); 11 } 12 13 void add(LinkList *L, int data){ 14 LinkList p = create(); 15 p->data = data; 16 p->next = *L; 17 *L = p; 18 } 19 20 int main(){ 21 LinkList head = NULL; 22 for(int i = 0; i < 5; ++i){ 23 add(&head, i); 24 } 25 for(LinkList p = head; p != NULL; p = p->next){ 26 printf("%d\n", p->data); 27 } 28 return 0; 29 }
2.传参数,使用引用
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef struct LNode{ 5 int data; 6 struct LNode *next; 7 } LNode, *LinkList; 8 9 LNode * create(){ 10 return (LNode *)malloc(sizeof(LNode)); 11 } 12 13 void add(LinkList &L, int data){ 14 LinkList p = create(); 15 p->data = data; 16 p->next = L; 17 L = p; 18 } 19 20 int main(){ 21 LinkList head = NULL; 22 for(int i = 0; i < 5; ++i){ 23 add(head, i); 24 } 25 for(LinkList p = head; p != NULL; p = p->next){ 26 printf("%d\n", p->data); 27 } 28 return 0; 29 }
引用是c++的。
运行结果。
优质内容筛选与推荐>>