sdutacm-数据结构实验之链表六:有序链表的建立
来源:互联网 发布:js pdf 插件 编辑:程序博客网 时间:2024/06/06 03:22
数据结构实验之链表六:有序链表的建立
TimeLimit: 1000MS Memory Limit: 65536KB
SubmitStatistic
ProblemDescription
输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。
Input
第一行输入整数个数N;
第二行输入N个无序的整数。
Output
依次输出有序链表的结点值。
ExampleInput
6
33 6 22 9 44 5
ExampleOutput
5 6 9 22 33 44
Hint
不得使用数组!
Author
F#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<iostream>#include<algorithm>#include<stack>#include<queue>//#include<dqeue>using namespace std;struct node{ int data; struct node*next;};struct node*creat(struct node*head,int n){ head= (struct node*)malloc(sizeof(struct node)); head->next =NULL; struct node*tail = head; for(int i=1;i<=n;i++) { struct node*p = (struct node*)malloc(sizeof(struct node)); p->next =NULL; scanf("%d",&p->data); tail->next = p; tail = p; } return head;}/*struct node*guibing(struct node*head1,struct node*head2){ head1= head1->next; head2 =head2->next; struct node*tail,*p,*mail; tail = (struct node*)malloc(sizeof(struct node)); mail = tail; while(head1&&head2) { if(head1->data<head2->data) { mail->next = head1; mail = head1; p = head1; head1 = head1->next; p->next =NULL; } else { mail->next =head2; mail = head2; p = head2; head2 = head2->next; p->next =NULL; } } if(head1) { while(head1) { mail->next =head1; mail = head1; p = head1; head1 = head1->next; p->next = NULL; } } else if(head2) { while(head2) { mail->next =head2; mail = head2; p = head2; head2 = head2->next; p->next =NULL; } }return tail;}*/struct node*search(struct node*head1,int n){ while(n--) { struct node*tail = head1; int key; cin>>key; while(tail->next) { if(tail->next->data>key) { struct node*p; p = (struct node*)malloc(sizeof(struct node)); p->next = NULL; p->data = key; p->next = tail->next; tail->next = p; tail = head1; break; } else tail = tail->next; } if(tail->next==NULL) { struct node*p = (struct node*)malloc(sizeof(struct node)); p->next = NULL; p->data = key; tail->next = p; } } return head1;}void show(struct node*head){ struct node*tail; tail =head; int top = 1; while(tail->next) { if(top)top=0; else printf(" "); printf("%d",tail->next->data); tail = tail->next; }}int main(){ int n,n1=0,n2=0; scanf("%d",&n); struct node*head1= (struct node*)malloc(sizeof(struct node)); head1->next =NULL; head1 = search(head1,n); show(head1); cout<<endl; return 0; }/***************************************************User name: jk160505徐红博Result: AcceptedTake time: 0msTake Memory: 164KBSubmit time: 2017-01-14 17:07:53****************************************************/
0 0
- SDUTACM 数据结构实验之链表六:有序链表的建立
- sdutacm-数据结构实验之链表六:有序链表的建立
- sdutacm-数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- SDUToj2121数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- Spring的事务
- POJ 2895 Best SMS to Type 再想想
- JavaScript 操作符(算术/逻辑/比较/赋值运算符/优先级/自增自减/三目运算符)
- Android工具类库
- ES6中的let
- sdutacm-数据结构实验之链表六:有序链表的建立
- SOJ 1022
- 关于百度地图验证失败Authentication Error errorcode: -1 uid: -1 appid -1
- 仿照TapTap做的一个demo,运用了Rxjava+Retrofit+MaterialDesign知识
- 收藏
- Container With Most Water-LeetCode
- Android破解---天天狙击2
- 数据库中的聚合函数
- 朴素贝叶斯与垃圾邮件分类