输入一组整数存放在数组中,从数组的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++可以运行;
懒得改了;
运行结果
如果对你有帮助,点个赞,谢谢啦!!!!