插头链表如何输出?
除了用递归方法输出外,还有没有什么简单正常的方法呢?#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
struct linklist
{
int data;
struct linklist *next;
};
void reverseOutput(struct linklist* head)
{
if(NULL != head) { 递归操作输出
reverseOutput(head->next);
printf("%d ", head->data);
}
}
void main()
{
struct linklist*head,*p;
int i=1;
head=NULL;
p=(struct linklist*)malloc(sizeof(struct linklist));
printf("输入正整数数据:");
scanf("%d",&p->data);
while(p->data>0)
{
p->next=head;
head=p;
printf("第%d个:",i);
p=(struct linklist*)malloc(sizeof(struct linklist));
scanf("%d",&p->data);
i++;
}
reverseOutput(head);
printf("\n");
getch();
}
[ 本帖最后由 锋了 于 2012-11-10 09:38 编辑 ]