单链表的建立及操作
一、逆序建表
1.单链表的建立
单链表的实质是一个结点的序列,建立单链表实质上就是逐个生成每一个结点,并把结点插入链表的过程。
单链表的建立是一个结点插入的过程,只不过需要插入的不是一个结点,而是多个结点而已。
多个结点的插入方式是相同的,因此可以借助循环过程来实现。
2.逆序建链表
①首先建立一个只包含头结点的空链表。
需要执行的操作是:
head=(struct node*)malloc(sizeof(struct node));
②在空链表头结点之后插入第一个结点。
需要执行的操作:
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=head->next;
head->next=p;
③在上面链表的头结点之后插入第二个结点。
需要执行的操作:
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=head->next;
head->next<