线性表是一类很常用的数据结构,分为顺序表和链表。其中,顺序表可以简单的理解成数组的概念。
下面讲述的是链表
按正常方式定义一个数组时,计算机会从内存中取出一块连续的地址来存放给定长度的数组。而链表则由若干结点组成(每个结点代表一个元素),且结点在内存中的存储位置通常是不连续的。因此,链表的结点一般由两部分组成,即数据域和指针域
struct node{
typename data;//数据域
node *next;//指针域
};
一般来说,数据域存放结点要存储的数据,而指针域指向下一个结点的地址,这样就会产生从某个结点楷书,由指针连接的一条链式结构,即链表。而以链表是否存在头结点,又可以把链表分为带头结点的链表和不带头结点的链表。头结点一般称为head,且其数据域data不存放任何内容,而指针域next指向第一个数据域有内容的结点(一般直接把这个结点叫做第一个结点)
链表是由若干个地址可能不连续的结点通过指针连接而成,且最后一个结点的next指针指向NULL,表示一条链表的结尾