排序算法之快速排序
来源:互联网 发布:软件企业资质 编辑:程序博客网 时间:2024/06/05 08:00
排序算法是经常使用的排序算法,分为冒泡排序、交换排序、选择排序等简单排序和快速排序、堆排序、归并排序等稍微高效的排序。
下面共同学习一下快速排序。
快速排序的思想是,一趟排序完成后,以一个数为分割,左边都比它小,右边都比它大,这个数放在了正确的位置,但这个数的左右不是排序的。
然后,以这个数为界,递归快排函数,对左右部分进行排序。
////快速排序的划分函数int partion(int *ar,int start,int end){assert(NULL != ar);int tmp = ar[start];while (start < end){while (ar[end]>=tmp && start<end)--end;ar[start] = ar[end];while (ar[start]<=tmp && start<end) ++start;ar[end] = ar[start];}ar[start] = tmp;return start;}/////////快速排序/////////void QuitSort(int *ar,int start,int end){if (start < end){int mid = partion(ar,start,end);QuitSort(ar,start,mid-1);QuitSort(ar,mid+1,end);}}
阅读全文
0 0
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法 之 快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- BZOJ 4034 树上操作 链剖
- 关于if-else代码的优化
- HTML
- Python菜鸟笔记2—密码加密
- C++基本知识整理(1)
- 排序算法之快速排序
- Caffe源码(五):conv_layer 分析
- 5-10 Left-pad (20分)
- java中actionSuppot类的作用
- Java基础
- 2017-07-05(servlet请求)
- 页面优化之高性能滚动scroll(防抖和节流)
- GenericServlet
- 计划任务crontab学习笔记