#include <stdio.h>
#include <stdlib.h>
struct yyh
{
int data;
struct yyh *next;
};
struct yyh *head,*p;
int main()
{
head=(struct yyh *)malloc(sizeof(struct yyh));
head->next=NULL;
p=(struct yyh *)malloc(sizeof(struct yyh));
scanf("%d",&p->data);
while(p->data!=-1)
{
p->next=head->next;
head->next=p;
p=(struct yyh *)malloc(sizeof(struct yyh));
scanf("%d",&p->data);
}
printf("%d",head->next->data);
head=head->next;
while(head->next!=NULL)
{
printf(" %d",head->next->data);
head=head->next;
}
return 0;
}
我看了CSDN上关于这个题的解法,说实话这个题我觉得出的不好,没法把头插法完整应用一下,我自己琢磨了这个法儿,感觉简单一些,比起其他博客写的一大长串代码,写的更好一些.