#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<ctime>
using namespace std;
#define MAXSIZE 10
const int n = MAXSIZE;
int num[n];
void init()
{
for (int i = 0; i < n; i++) num[i] = rand() % 100;//产生MAXSIZE个数据 数据范围为0~~~99;
}
void output()
{
for (int i = 0; i < n; i++)
{
printf("%d ", num[i]);
if (i % 10 == 9) printf("\n");
}
printf("\n");
}
///快速排序排序(递归) order by asc
void myswap(int a, int b)
{
int t; t = num[a]; num[a] = num[b]; num[b] = t;
}
void quicksort(int l,int r)
{
int i, j,x;
if (l < r)
{
x = num[l];
i = l; j = r;
while (i < j)
{
while (i<j && num[j]>x) j--;
if (i < j) num[i++] = num[j];
while (i<j && num[i]<=x) i++;
if (i < j) num[j--] = num[i];
}
//i=j
num[j] = x;
quicksort(l, j - 1);
quicksort(j + 1, r);
}
}
int main()
{
srand((unsigned)time(NULL));
init();
output();
//
printf("快速排序:\n");
quicksort(0, n - 1);
;
/
output();
return 0;
}
30.快速排序
最新推荐文章于 2024-07-31 13:34:33 发布