首页 > 学院 > 开发设计 > 正文

快速排序

2019-11-08 18:29:46
字体:
来源:转载
供稿:网友
#include <stdio.h>void quick_sort(int* a, int left, int right){ if (NULL == a || left >= right) return; int i = left; int j = right; int key = a[left]; while (i < j) { while (i < j && key <= a[j]) { j--; } a[i] = a[j]; // 覆盖 while (i < j && key >= a[i]) { i++; } a[j] = a[i]; } a[i] = key; quick_sort(a, left, i - 1); quick_sort(a, i + 1, right);}int main(){ int a[] = {49, 38, 65, 97, 76, 13, 27, 49}; int left = 0; int right = sizeof(a) / sizeof(a[1]); quick_sort(a, left, right - 1); for (int i = 0; i < right; i++) { PRintf("%d ", a[i]); } printf("/n"); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表