数据结构实验之排序一:一趟快排
Problem De ion
给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。
Input
连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。
Output
输出一趟快速排序后的结果,数字间以一个空格间隔,行末不得有多余空格。
Sample Input
8
49 38 65 97 76 13 27 49
Sample Output
27 38 13 49 76 97 65 49
Hint
Source
xam
#include <stdio.h>
02
void qsort(int a[] , int l , int h)
03
{
04
int i = l , j = h , k = a[l];
05
if (i >= j)
06
return ;
07
while(i < j)
08
{
09
while(i < j && a[j] >= k)
10
j--;
11
a[i] = a[j];
12
while(i < j && a[i] <= k)
13
i++;
14
a[j] = a[i];
15
}
16
a[i] = k;
17
return ;
18
}
19
int main()
20
{
21
int a[10010];
22
int n , i ;
23
while(~scanf(\"%d\" , &n))
24
{
25
for (i = 0 ;i < n ; i++)
26
{
27
scanf(\"%d\" , &a[i]);
28
}
29
qsort(a , 0 , n-1);
30
for (i = 0 ; i < n ; i++)
31
printf(\"%d%c\" , a[i] , i == n-1 ?\'\\n\':\' \');
32
}
33
return 0;
34
}
继续阅读与本文标签相同的文章
上一篇 :
无人驾驶汽车能与行人交流了,这项技术真不简单!
下一篇 :
云博士智能诊断功能全新升级
-
虚拟机模拟部署Extended Clusters(五)总结
2026-05-18栏目: 教程
-
Java计算两个日期相差的月数
2026-05-18栏目: 教程
-
精准测试与自动化测试的无缝对接
2026-05-18栏目: 教程
-
Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
2026-05-18栏目: 教程
-
springboot数据库主从方案
2026-05-18栏目: 教程
