下面通过图像简要示意链表的头插法和尾插法
1、头插法

代码示意:
#include<stdio.h>
#include<stdlib.h>
struct stu_node{
int num;
struct stu_node *next;
};
int main()
{
struct stu_node *head,*p;
int n;
head=NULL;
scanf("%d",&n);
while(n!=0)
{
p=(struct stu_node *)malloc(sizeof(struct stu_node));
scanf("%d",&p->num);
p->next=NULL;
p->next=head;
head=p;
n--;
}
while(head)
{
printf("%d ",head->num);
head=head->next;
}
return 0;
}
2、尾插法

代码示意:
int main()
{
struct stu_node *head,*p,*tail;
int n;
head=NULL;
scanf("%d",&n);
while(n!=0)
{
p=(struct stu_node *)malloc(sizeof(struct stu_node));
scanf("%d",&p->num);
p->next=NULL;
if(head==NULL)
{
head=p;
}
else{
tail->next=p;
}
tail=p;
n--;
}
while(head)
{
printf("%d ",head->num);
head=head->next;
}
return 0;
}
467

被折叠的 条评论
为什么被折叠?



