问题描述:对N个整数《数据由键盘输入》进行升序排序
问题分析:
1、用数组a[100010]储存这Ⅳ个数
2、定义j=1,在z<N进行循环
3、在循环中定义i-o,在i<N-j进行循环
4、每次循环比较a叫与a[i+1]的大小。如果a门>a[i+1],这进行交换
5、输出
三、流程图
四、代码示例
#include<bits/stdc++.h>
using
namespace
std;
const
int
N = 100010;
int
num[N];
void
quick_sort(
int
num[],
int
r,
int
l){
if
(r >= l)
return
;
int
mid =( r + l >> 1);
int
i = r - 1, j = l + 1;
while
(i < j){
do
i ++ ;
while
(num[i] < num[mid]);
do
j -- ;
while
(num[j] > num[mid]);
if
(i < j) swap(num[i] ,num[j]);
}
quick_sort(num, r, j);
quick_sort(num, j + 1, l);
}
int
main(){
int
n = 0;
scanf
(
"%d"
, &n);
for
(
int
i = 0; i < n; i ++){
scanf
(
"%d"
, &num[i]);
}
quick_sort(num, 0, n - 1);
for
(
int
i = 0; i < n; i ++)
printf
(
"%d "
, num[i]);
return
0;
}
标签:sort,int,mid,++,num,quick,4.24
From: https://www.cnblogs.com/dmx-03/p/17351346.html