利用尾插法创建链表
#include<stdio.h>
#include<stdlib.h>
//定义链表节点
struct Node
{
int data;
struct Node *next;
}node;
int main()
{
struct Node *head, *pt, *p;
head = pt = (struct Node *)malloc(sizeof(node));
scanf("%d",&pt->data);
while(pt->data != 0){
p = pt;
pt = (struct Node *)malloc(sizeof(node));
scanf("%d",&pt->data);
p->next = pt;
}
p->next = NULL;
p = head;
printf("打印链表的值:\n");
while(p->next != NULL){
printf("%d ",p->data);
p = p->next;
}
printf("%d ",p->data);
return 0;
}
如果使用头插发关键两步是:
p->next = l->next;(l代表头结点)
l->next = p;