数据结构实验之链表六:有序链表的建立
来源:互联网 发布:知象 编辑:程序博客网 时间:2024/04/30 16:54
#include <stdio.h>#include <stdlib.h>struct node{ int data; node *next;}*head,*p,*t,*q;int main(){ int n,i,x; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL; scanf("%d",&n); for(i=1; i<=n; i++) { if(i==1) { scanf("%d",&x); p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=NULL; head->next=p; } else if(i==2) { scanf("%d",&x); if(x>head->next->data) { p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=NULL; head->next->next=p; } else { p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=head->next; head->next=p; } } else { scanf("%d",&x); //当时居然傻到忘了输入了!!! if(x<head->next->data) { p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=head->next; head->next=p; } else { t=head->next; //每次都要从head->next开始,如果这个是在for循环外的话,那么当输入下一个数字n时,t指向的是空 while(1) { if(t->next==NULL) //要先判断t下一个是不是为空,如果不为空才可以进行下一个数值的比较 { p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=NULL; t->next=p; break; } else if(x>t->data&&x<t->next->data) { p=(struct node*)malloc(sizeof(struct node)); p->data=x; p->next=t->next; t->next=p; break; } t=t->next; } } } } p=head->next; while(p) { printf("%d",p->data); p=p->next; if(p) printf(" "); } printf("\n");}这个是看完大神代码理解后又敲的一遍,看完顿时感觉自己的之前办法好笨重啊!!!
<pre class="cpp" name="code">#include <stdio.h>#include <stdlib.h>struct node{ int data; node *next;}*head,*p,*r,*q;int main(){ int n,x; head=(struct node*)malloc(sizeof(struct node)); head->next=NULL; scanf("%d",&n); while(n--) { scanf("%d",&x); r=(struct node*)malloc(sizeof(struct node)); r->data=x; //每输入一个数先放到一个空间里 p=head->next; //p指向下一个节点 q=head; q记录p的前一个节点 while(p) { if(r->data<p->data) { r->next=p; q->next=r; break; } q=p; p=p->next; } if(!p) { q->next=r; r->next=NULL; } } p=head->next; while(p) { printf("%d",p->data); p=p->next; if(p) printf(" "); } printf("\n");}
0 0
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- SDUToj2121数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- SDUT2121数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
- BSP
- Android 属性动画总结
- Ubuntu菜鸟常用命令
- CodeForces 430D Working out(DP)
- 数据结构实验之链表六:有序链表的建立
- C语言对深度搜索的简单应用(Oil Deposits
- qsort与bsearch
- POJ3069 Saruman's Army Greedy(贪心)
- Android Canvas drawArc方法介绍
- av_parser_parse2函数介绍
- Android 属性动画总结
- #早安南开#微博有感
- android中path的arcTo方法的使用