上次的单链表是头插法的,所以打印的时候是倒序,这有点影响美观,这次是尾插法,可以解决这个问题,注意事项见上篇
代码
#include<stdio.h>
#include<malloc.h>
typedef struct node
{
int data;
struct node*next;
}node;
node*creat()
{
node*head,*p,*q;
char ch;
head=(node*)malloc(sizeof(node));
q=head;
ch='*';
puts("单链表尾插法,?结束");
while(ch!='?')
{
int a;
scanf("%d",&a);
p=(node*)malloc(sizeof(node));
p->data=a;
q->next=p;
q=p;
ch=getchar();
}
q->next=NULL;
return(head);
}
main()
{
node*a;
a=creat();
puts("print ");
a=a->next;
while(a!=NULL)
{
printf("%d ",a->data);
a=a->next;
}
return 0;
}
这一次相对简单,下篇是单链表(尾插法)的查找、插入和删除