链表的使用
链表是常见的数据结构,由若干节点组成,这些节点可以在运行时动态生成
头指针:存放一个地址,该地址指向第一个节点,
结点:由需要处理的实际数据和指向下一个节点的指针组成
创建链表:
定义三个指针:
head---表头指针,指向第一个节点
newnode---指向当前动态创建的节点
tail---表尾指针,指向当前链表的最后一个节点
创建步骤:
1、置空表: head=NULL;
2、动态创建新节点,让newnode指向该节点,并向其数据域输入数据: newnode=new node; 输入数据: cin>>newnode->data;
3、把newnode所指向的节点插入到链表当中。如果链表为空,newnode所指向的节点成为该链表中的首节点,让head指向该节点: head=newnode;
若当前链表非空,则newnode所指向的节点作为最后一个节点加入,即将其插在tail指向的节点后面: tail->=newnode;
4、newnode所指向的节点成为了新的表尾节点,移动表尾指针,指向该节点: tail=newnode;
5、重复2~4共n次
6、将最后一个结点的指针域置空: tail->next=NULL;
struct node* creat(int n)
{
struct node *head = NULL; //初始置空表
struct node* tail