现在我们用C语言实现一个链表,链表的结构大家都熟悉,也比较简单,关键在于处理好头指针和尾指针,指对地方,就没什么问题,来看源码:
//创建一个链表#includelist是结构体,node与它同类型,代表节点,而link代表指向节点的指针。malloc函数用来获取内存#include //创建链表结构struct list{ int data; struct list *next;};typedef struct list node;typedef node *link;int main(){ link ptr,head; int i,num; //输入链表中的元素 ptr = (link)malloc(sizeof(node)); head = ptr; //head 为 头指针 printf("Input 5 numbers :\n"); for (i = 0; i < 5; i++) { scanf("%d", &num); ptr->data = num; ptr->next = (link)malloc(sizeof(node)); if (i == 4) ptr->next = NULL; else ptr = ptr->next; } //输出链表 ptr = head; while (ptr != NULL) { printf("%d\n", ptr->data); ptr = ptr->next; } return 0;}