C++: #include using namespace std; #define _ITERATOR_DEBUG_LEVEL 2 #pragma warning(disable:4996) int adjustarray(int a[], int l, int r) { int i = l, j = r; int x=a[l]; while (i < j) { while (i < j&& x<=a[j]) { j--; } if (i < j) { a[i] = a[j]; i++; } while (i<j && x>a[j]) { i++; } if (i < j) { a[i] = a[j]; } } a[i] = x; return i; } void quicksort(int a[], int l, int r) { if (l < r) { int rr = adjustarray(a, l, r); quicksort(a, l, rr-1); quicksort(a, rr + 1,r); } }
int main() { int a[1000],x; printf("请输入数组的的长度"); scanf("%d", &x); for (int i = 0; i < x; i++) { printf("请输入第%d个元素的大小", i+1); scanf("%d", &a[i]); } quicksort(a, 0, x-1); printf("排列后的数组为"); for(int i = 0; i<x; i++) printf("%d ", a[i]); printf("\n"); return 0;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。