排序算法(一)——快速排序法
来源:互联网 发布:nemo软件 编辑:程序博客网 时间:2024/06/05 06:39
1、快速排序法
快速排序的最差时间复杂度和冒泡排序是一样的都是O(N2),
平均时间复杂度为O(NlogN)
void quickSort(int left,int right){ int i,j,t,temp; if(left>right) return; temp=a[left]; //左边第一个作为基准 i=left; //i为左哨兵 j=right; //j为右哨兵 while(i!=j) { while(a[j]>temp&i<j) //先从右边遍历,直到找到小于temp时停下 j--; while(a[i]<temp&i<j) //从左边遍历,直到找到大于temp时停下 i++; if(i<j){ //两者都停下时,交换a[i]和a[j]的值 t=a[i]; a[i]=a[j]; a[j]=t; } } a[left]=a[i]; //当哨兵相遇时交换当前值和基准数 a[i]=temp; quickSort(left,i-1); quickSort(i+1,right) }
0 0
- 排序算法(一)——快速排序法
- 排序算法(一)——快速排序
- 排序算法进阶(一)——快速排序算法
- 排序算法—快速排序
- 排序算法—快速排序
- 排序算法(一)快速排序
- 排序算法(一):快速排序
- 排序算法(一)--快速排序
- 排序算法一:快速排序
- 排序算法:(一)快速排序
- 排序算法(2)—归并排序,快速排序
- java算法(一)——排序算法(下)之 快速排序
- php实现排序算法(一) 冒泡排序 快速排序
- 算法——排序之路(一)——快速排序(quicksort)
- 第十五周——项目一—验证算法(4)交换排序之快速排序
- 【JAVA】算法排序(一)——选择排序法
- 排序算法———快速排序
- 排序算法--快速排序(分治法)
- Linux基础知识
- php史上最全的正则表达式,供学习参考
- 递归和非递归实现二叉树的前序遍历
- Android 像素问题
- 【Java概念】java语言基础
- 排序算法(一)——快速排序法
- 数据库系统工程师
- AngularJs ng-change事件/指令
- ViewPager高度自适应
- 【测试】软件测试流程进阶----两年软件测试总结
- 学习MySQL_第三天_语言基础&数据定义功能
- Symmetric Tree
- Android中常用的五种布局方式:LinearLayout
- 第3周项目1 -顺序表的基本运算