数据结构实验之排序二:交换排序
来源:互联网 发布:vb中四舍五入取整函数 编辑:程序博客网 时间:2024/06/03 20:44
数据结构实验之排序二:交换排序
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
冒泡排序和快速排序都是基于"交换"进行的排序方法,你的任务是对题目给定的N个(长整型范围内的)整数从小到大排序,输出用冒泡和快排对这N个数排序分别需要进行的数据交换次数。
Input
连续多组输入数据,每组数据第一行给出正整数N(N ≤ 10^5),随后给出N个整数,数字间以空格分隔。
Output
输出数据占一行,代表冒泡排序和快速排序进行排序分别需要的交换次数,数字间以1个空格分隔,行末不得有多余空格。
Example Input
849 38 65 97 76 13 27 49
Example Output
15 9
Hint
注意:数据相等时不做交换
#include<bits/stdc++.h>using namespace std;int a[100010], b[100010];int c1, c2;void qsort(int a[], int l, int h){ int i = l, j = h; int key = a[i]; if(i > j) return; while(i < j) { while(i < j && a[j] >= key) j--; if(a[i] != a[j]) c1++; a[i] = a[j]; while(i < j && a[i] <= key) i++; if(a[i] != a[j]) c1++; a[j] = a[i]; } a[i] = key; qsort(a, l, i - 1); qsort(a, i + 1, h);}void mp(int a[], int n){ int d; for(int i = 0; i < n - 1; i++) /*冒泡排序*/ { for(int j = 0; j < n - i - 1; j++) { if(a[j] > a[j+1])//冒泡排序就是前一个与后一个比较,如果前一比后一个大 则交换 { d = a[j]; a[j] = a[j+1]; a[j+1] = d; c2++; } } }}int main(){ int n; while(cin >> n) { c1 = c2 = 0; for(int i = 0; i < n; i++) { cin>>a[i]; b[i] = a[i]; } qsort(a, 0, n - 1); mp(b, n); cout<<c2<<" "<<c1<<endl; } return 0;}
冒泡排序:
for(int i = 0; i < n - 1; i++) /*冒泡排序*/ { for(int j = 0; j < n - i - 1; j++) { if(a[j] > a[j+1])//冒泡排序就是前一个与后一个比较,如果前一比后一个大 则交换 { int d = a[j]; a[j] = a[j+1]; a[j+1] = d; } } }
阅读全文
0 0
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 数据结构实验之排序二:交换排序
- 初窥ajax(二) ——封装jsonp
- 跟着鱼C学HTML学习记录0
- MappingJackson2HttpMessageConverter(undone)
- luoguP2596 [ZJOI2006]书架(splay)
- 蓝桥杯 ADV_193 算法提高 新建Microsoft Word文档 (java)
- 数据结构实验之排序二:交换排序
- 服务器主动向客户端发送信息机制
- HDOJ 2032 杨辉三角
- 基于stanford nlp(JAVA)实现关系抽取
- 【中文字幕】2017春季CS231n 斯坦福深度视觉识别课,李飞飞
- reason: connect ETIMEDOUT
- 根据log绘制loss、accuracy的变化图
- 1、Excel:函数小结
- flvAnalyser 分析工具版本发布详情