看看我这个快速排序有毛病吗

白帽天使 2019-10-10 03:55:20
int Partition(int a[], int first, int end) { int i = first, j = end; while (i < j) { while (i < j && a[i] <= a[j]) j--; if (i < j) { swap(&a[i], &a[j]); i++; } while (i < j && a[i] <= a[j]) i++; if (i < j) { swap(&a[i], &a[j]); j--; } } return i; /* 一次划分结束,返回轴值位置 */ }; void QuickSort(int a[], int first, int end) { int pivot; if (first < end) { pivot = Partition(a, first, end); QuickSort(a, first, pivot - 1); QuickSort(a, pivot + 1, end); } else return; };
...全文
34 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧