2121 数据结构实验之链表六:有序链表的建立
来源:互联网 发布:ubuntu分辨率800*600 编辑:程序博客网 时间:2024/06/07 20:34
数据结构实验之链表六:有序链表的建立
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。
Input
第一行输入整数个数N;
第二行输入N个无序的整数。
第二行输入N个无序的整数。
Output
依次输出有序链表的结点值。
Example Input
633 6 22 9 44 5
Example Output
5 6 9 22 33 44
Hint
不得使用数组!
#include <bits/stdc++.h>using namespace std;typedef struct node{ int date; struct node *next;}Lnode;Lnode *creat(int n)//建表 排序{ Lnode *head, *p, *q, *r; head = new node; head ->next = NULL; p = new node; p ->next = NULL; cin >> p->date; head -> next = p; //输入首元素用于后面元素的判断 for(int i = 1; i < n; i++) { bool flag = 1; p = new node; p ->next = NULL; r = head; q = head->next; cin >> p ->date; while(q->next) //除最后一个外,判值 { if(p->date <= q -> date) { r -> next = p; p -> next = q; flag = 0;break; } else { r = r -> next; q = q -> next; } } if(flag) //对最后一个判断 { if(p->date>=q->date) { q -> next = p; } else { r -> next = p; p -> next = q; } } } return head;}void output(Lnode *head)//输出{ Lnode *q; cout << head -> next -> date; q = head->next; while(q->next) { q = q->next; cout << " " << q->date; } cout << endl;}int main(){ int n; Lnode *head; cin >> n; head = creat(n);//建表 排序 output(head); return 0;}
阅读全文
0 0
- 2121数据结构实验之链表六:有序链表的建立
- 2121数据结构实验之链表六:有序链表的建立
- 2121-数据结构实验之链表六:有序链表的建立
- 2121 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- SDUToj2121数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表六:有序链表的建立
- html 中 a 链接的 download 属性的神奇使用
- Spring
- 指向指针的引用
- 40、正则表达式
- Android dp方式的屏幕适配工具使用(一些疑惑和注意事项)
- 2121 数据结构实验之链表六:有序链表的建立
- 像素基本概念
- Oracle 取随机数
- FFmpeg从视频文件中抽离视频并以udp+rtp+h264推流的命令
- 藏头诗——
- vs2015无法解析外部符号__imp__fprintf __imp____iob_func
- 41、java常用类-Math
- [UE4]Montage动画设置Slot
- nginx 简单反向代理服务配置