题目1181:遍历链表
题目描述:
建立一个升序链表并遍历输出。
输入:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。
样例输入:
4
3 5 7 9
样例输出:
3 5 7 9
来源:
2000年华中科技大学计算机研究生机试真题
#include#includestruct list{ int data; struct list *next;};int main(){ int n,e,i; list *head,*tail,*p,*q; while(~scanf("%d",&n)){ head=(list*)malloc(sizeof(list)); head->next=NULL; tail=head; for(i=0;idata=e; tail->next=p; tail=p; } tail->next=NULL; p=head->next; while(p!=NULL){ q=p->next; while(q!=NULL){ if(p->data>q->data){ int temp=p->data; p->data=q->data; q->data=temp; } q=q->next; } p=p->next; } p=head->next; while(p!=NULL){ if(p->next==NULL){ printf("%d\n",p->data); break; } else{ printf("%d ",p->data); p=p->next; } } free(p); free(head); } return 0; }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~