数据结构实验之排序一:一趟快排
来源:互联网 发布:xmind8 for mac破解版 编辑:程序博客网 时间:2024/05/30 04:12
数据结构实验之排序一:一趟快排
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。
Input
连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。
Output
输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。
Example Input
849 38 65 97 76 13 27 49
Example Output
27 38 13 49 76 97 65 49
一趟快排又称为一次划分,之所以成为一次划分,是因为完成一次快排的过程中,需要与关键字进行比较,在比较的过程中,实际上就完成了一个划分,那就是将大于关键字的和小于关键字的放置在数组的两侧,在用快排的时候,进行的操作是关键字的比较,实际上,我们也可以进行其他操作,比如如果只对数据访问一次完成奇偶数的划分,就可以将条件改为判断偶数,这就是一次划分的意义。
#include <iostream>using namespace std;void once_sort(int a[], int low, int high){int key = a[low];while(low < high){while(low < high && a[high] >= key) high--;a[low] = a[high];while(low < high && a[low] <= key) low++;a[high] = a[low];}a[low] = key;}int main(){int n, a[100005];while(cin>>n){for(int i = 0; i < n; i++){cin>>a[i];}once_sort(a, 0, n-1);int i;for(i = 0; i < n-1; i++)cout<<a[i]<<" ";cout<<a[i]<<endl;}return 0;}
阅读全文
0 0
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- SDUT3398数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- SDUTACM 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- Android SDK Manager国内无法更新的解决方案
- Python 5种连接字符串的方法
- Navicat for mysql 安装破解教程
- iOS开发多线程-NSOperation \ GCD详解
- springwebsocket部署的一次坑
- 数据结构实验之排序一:一趟快排
- 17.字符串判等
- Android工具类总结
- codeforces 898B. Proper Nutrition
- Android点击EditText之外的地方隐藏软键盘同时使EditText失去焦点
- 获取iWatch的UDID
- Hive空值处理
- MyTask网址解析
- 剑指offer-二维数组中的查找(1)