输入一组整数存放在数组中,从数组的1号单元开始存放,以空格分隔,以-1结束,用快速排序方法对这组数进行排序;
输入:
10 3 4 8 9 -1
输出
3 4 8 9 10
完整代码
#include <stdio.h>
#include<iostream>
using namespace std;
//快速排列算法
void quickSort(int arr[], int low, int high)
{
int first = low;
int last = high;
int key = arr[first];
if(low >= high)
return;
while(first < last)
{
while(first < last && arr[last] > key)
{
last--;
}
arr[first] = arr[last];
while(first < last && arr[first] < key)
{
first++;
}
arr[last] = arr[first];
}
arr[first] = key;
quickSort(arr, low, first-1);
quickSort(arr, first+1, high);
}
int main()
{
int n,i;
int a[100];
cin>>n;
while(n!=-1)
{
a[i]=n;
cin>>n;
i++;
}
quickSort(a, 0, i-1);
for(int m= 0; m < i; m++)
printf("%d ", a[m]);
printf("\n");
return 0;
}
这是一个c++,从语言的混合编码;devc++可以运行;
懒得改了;
运行结果
如果对你有帮助,点个赞,谢谢啦!!!!