快速排序的实现
快速排序的重要性不言而喻,原理什么的不再多说,google一下都很详细,许多面试中都重点考察,甚至还会要求迅速手写,今天码出快排的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include<iostream> using namespace std; void quicksort( int left, int right, int arr[]) { if (left > right) return ; int i,j,t,tmp; i = left; j = right; t = arr[left]; while (i != j) { while (arr[j] >= t && i < j) j --; while (arr[i] <= t && i < j) i ++; if (i < j) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } arr[left] = arr[i]; arr[i] = t; quicksort(left,i - 1,arr); quicksort(i + 1,right,arr); } int main() { int a[] = {5,7,4,2,9,0,8,1,3,6}; quicksort(0,9,a); for ( int i = 0;i < 10;i ++) cout<<a[i]<< " " ; cout<<endl; return 0; } |
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步