C语言 数据结构排序与查找 数据结构实验之排序一:一趟快排
2018-02-02 09:56
459 查看
数据结构实验之排序一:一趟快排
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。
Input
连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。
Output
输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。
Example Input
8
49 38 65 97 76 13 27 49
Example Output
27 38 13 49 76 97 65 49
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。
Input
连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。
Output
输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。
Example Input
8
49 38 65 97 76 13 27 49
Example Output
27 38 13 49 76 97 65 49
#include <stdio.h> int s[100010]; void struff(int s[], int l, int r) { int i, j, key; i = l; j = r; key = s[i]; while(i < j) { while(i < j && s[j] >= key) j--; s[i] = s[j]; while(i < j && s[i] <= key) i++; s[j] = s[i]; } s[i] = key; } int main() { int t, i; while(scanf("%d", &t) != EOF) { for(i = 0; i < t; i++) { scanf("%d", &s[i]); } struff(s, 0, t - 1); for(i = 0; i < t; i++) { if(i == 0) printf("%d", s[i]); else printf(" %d", s[i]); } printf("\n"); } return 0; }
相关文章推荐
- C语言 数据结构之排序与查找 数据结构实验之查找四:二分查找
- C语言 数据结构排序与查找 数据结构实验之排序二:交换排序
- C语言 数据结构排序与查找 数据结构实验之排序五:归并求逆序数
- C语言 数据结构排序与查找 数据结构实验之排序三:bucket sort
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- C语言 递推与递归 数据结构实验之排序八:快速排序
- SDUT-3398-->数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 3398 数据结构实验之排序一:一趟快排
- sdutacm- 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- SDUT OJ 3398 数据结构实验之排序一:一趟快排
- 数据结构实验之排序一:一趟快排
- 3398-数据结构实验之排序一:一趟快排