链表概述:
链表是一种常见的数据结构,与数组相比,链表能存放多种类型的数据,链表的地址不是一块连续的空间 ,并且它可以比较自由地进行增删(数组只能存放单一类型的数据,一旦声明长度就不能更改,并且进行增删非常麻烦,效率低下)。
链表的创建与遍历
首先,先定义一个有一个有效数据和指向自己的结构体
每个结构体的元素本身由两部分组成:
- 本身的信息,称为“数据域”;
- 指向直接后继的指针,称为“指针域”
这两部分信息组成数据元素的存储结构,称之为“结点”
struct Data{
int num;//数据域的代表
struct Data *next; //指针域代表,且初始化为NULL
};
创建链表:
#include <stdio.h>
struct Data{
int num;
struct Data *next;
};
int main()
{
struct Data data1 = {1,NULL};
struct Data data2 = {2,NULL};
struct Data data3 = {3,NULL};
struct Data data4 = {4,NULL};
data1.next = &data2;
data2.next = &data3;
data3.next = &data4;
printf("%d\t%d\t%d\t%d\n",data1.num,data1.next->num,data1.next->next->num,data1.next->next->next->num);
return 0;
}