现在我们用C语言实现一个链表,链表的结构大家都熟悉,也比较简单,关键在于处理好头指针和尾指针,指对地方,就没什么问题,来看源码:
//创建一个链表
#include <stdio.h>
#include <stdlib.h>
//创建链表结构
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;
}
list是结构体,node与它同类型,代表节点,而link代表指向节点的指针。malloc函数用来获取内存