快速排序(quick sort)
样例:A[8]={2,8,7,1,3,5,6,4}
关键是数组划分部分。
比较简单,所以直接给出C语言代码:
#include<stdio.h> #include <stdlib.h> int a[101], n; void quick_sort(int left, int right); int main() { int i; scanf_s("%d", &n); for (i = 1; i <= n; i++) scanf_s("%d", &a[i]); quick_sort(1, n); for (i = 1; i <= n; i++) printf("%d ", a[i]); printf("hello.."); system("pause"); return 0; } void quick_sort(int left, int right) { int i, j, t, temp; if (left>right) return; temp = a[left]; i = left; j = right; while (i != j) { while (a[j] >= temp&&i<j) j--; while (a[i] <= temp&&i<j) i++; if (i<j) { t = a[i]; a[i] = a[j]; a[j] = t; } } a[left] = a[i]; a[i] = temp; quick_sort(left, i - 1); quick_sort(i + 1, right); }

浙公网安备 33010602011771号