Sort function 应用
2016-03-24 21:10
267 查看
题目描述
(线性表)假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。
输入
输入长度n:5
输入数据:1 2 5 6 8
输入长度m:5
输入数据:3 4 7 9 10
输出
10 9 8 7 6 5 4 3 2 1
样例输入
4
7 9 10 11
4
8 12 13 14
样例输出
14 13 12 11 10 9 8 7
Answer
一般写法
更简洁的写法
(线性表)假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。
输入
输入长度n:5
输入数据:1 2 5 6 8
输入长度m:5
输入数据:3 4 7 9 10
输出
10 9 8 7 6 5 4 3 2 1
样例输入
4
7 9 10 11
4
8 12 13 14
样例输出
14 13 12 11 10 9 8 7
Answer
一般写法
#include<algorithm>//This is sort function header files #include<iostream> using namespace std; int main() { /*Define variables 定义变量*/ int m, n; int i, j, k; int a[100]; bool cmp(int a, int b); /*Input*/ cin>>m; for(i=0; i<m ; i++) { cin>>a[i]; } cin>>n; for(j=0; j<n ; j++) { cin>>a[m+j]; } /*Sorting*/ sort(a, a+m+n, cmp); /*Output*/ for(k=0; k<m+n-1 ; k++) { cout<<a[k]<<" "; } cout<<a[m+n-1]<<endl;//满足最后一位输出无空格 return 0; } /*从大到小排*/ bool cmp(int a, int b) { return a>b; }
更简洁的写法
#include<iostream> #include <algorithm> using namespace std; int main() {int i,a,b,s[10],p; cin>>a;//Input for(i=0;i<a;i++) cin>>s[i]; cin>>b; for(i=0;i<b;i++) cin>>s[a+i]; p=a+b; sort(s,s+p);//Sorting for(i=p-1;i>0;i--)//Output cout<<s[i]<<" "; cout<<s[0]<<endl;//最后一位无空格输出 return 0; }
相关文章推荐
- COCOS学习笔记--Button类及其相关控件属性
- Python实现的淘宝直通车数据抓取(4)
- spring的两种声眀式事务
- ubuntu12.04普通用户登陆时,忘记密码??
- 2.0-Redis配置讲解(上)
- linux下文件类型获取
- Python调用SIFT出现的问题:No such file or directory: '*.sift' 解决办法,超好用
- 数据类型、变量、常量
- [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
- 1006-Elevator-解题报告
- tinyxml源代码解析(一)
- Java 学习笔记(一)
- NVIDIA显卡驱动未加载问题——未完全解决
- ffmpeg的时间戳
- 软金测试第一次作业
- 静态、自适应、流式、响应式四种网页布局的区别
- hdu1054 树形dp&&二分图
- Microservice Anti-patterns
- 表达式求值
- 方法的直接调用,反射调用与……Lambda表达式调用