链表又包括单向链表、双向链表、循环链表等。在掌握使用其他链表之前,最先需要掌握单向链表。链表中最基本的结构是结点,是由数据域和指针域组成的。其中数据域可以是很复杂的成员或结构体,指针域是指向结点数据类型的指针。单向链表有一个头指针指向第一个结点,每个结点的指针指向其后继结点。最后一个结点指针存0值,表示无后继。
简单链表示例:
#include<stdio.h>
typedef struct _node
{
int data;//数据
struct _node *next;//指针
}Node,*pNode;
int main()
{
Node a,b,c,d;
pNode head,p;//head指向第一个结点
a.data=1;b.data=3;//数据处理
c.data=5,d.data=7;
head=&b; //建立链表,建立元素前后关系
b.next=&d;
d.next=&a;
a.next=&c;
c.next=NULL;//链表表尾0,表示是最后一个结点,后面没有元素
//链表处理
p=head;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
return 0;
}