快速排序(伪代码 c/c++ python 实现)
来源:互联网 发布:手机环境监控软件 编辑:程序博客网 时间:2024/06/02 00:38
快速排序
最简单的快排。
以头元素作为标记元素,将大于标记元素的数字放在其的右边,小于的放在其左边。之后对于左边和右边的分别排序。
parttitioned (input list[], input left, input right)pivot <- list[left]i <- leftj <- rightwhile (i < j) dowhlie (i < j and list[j] >= pivot) doj <- j - 1endif (i < j)list[i] <- list [j]whlie (i < j and list[i] < pivot) doi <- i + 1endif (i < j)list[j] <- list [i]endlist[i] <- pivotreturn iquicksort (input list[], input left, input right)if (left < right)mid = parttitioned(list, left, left)quicksort (list, left, mid-1)quicksort (list, mid+1, right)end if
c/c++
int partitionsed (int a[], int left, int right){int pivot = a[left];int i = left,j = right;int k;while (i < j){while (i < j && a[j] >= pivot)j--;if (i < j)a[i] = a[j];while (i < j && a[i] < pivot)i++;if (i < j)a[j] = a[i];}a[i] = pivot; return i;}
void quicksort(int a[],int left,int right){if (left < right){int insert = partitionsed(a,left,right);quicksort (a,left,insert-1);quicksort (a,insert+1, right);}}python
def partitioned(list, left, right): pivot = list[left] i = left j = right while i < j: while i < j and list[j] >= pivot: j = j - 1 if i < j: list[i] = list[j] while i < j and list[i] < pivot: i = i + 1 if i < j: list[j] = list[i] list[i] = pivot return idef QuickSort(list, left, right): if (left < right ): mid = partitioned(list, left, right) QuickSort(list, left, mid-1) QuickSort(list, mid+1,right)list = [5, 1, 7, 3, 7, 0, 4, 8, 6, 9]QuickSort(list, 0, 9)print list
阅读全文
0 0
- 快速排序(伪代码 c/c++ python 实现)
- 选择排序(伪代码算法,c++,以及python实现)
- 拉格朗日插值法(伪代码 c/c++ python 实现)
- 牛顿插值法(伪代码 c/c++ python实现)
- 快速排序:源码(C++)--伪代码--时间复杂度解析
- 快速排序--C语言实现、python实现
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的C语言代码实现
- 快速排序的c语言实现代码
- 快速排序 C代码
- 快速排序c实现(代码来自c programming language)
- 快速排序c实现
- 快速排序C实现
- 快速排序C实现
- 快速排序C实现
- 快速排序(C实现
- 框架知识
- 淘淘商城系列——js跨域分析
- Linux的服务端口的分类、管理
- vmware安装ubuntu " Intel VT-x 处于禁用状态"
- [swift3.0]手势
- 快速排序(伪代码 c/c++ python 实现)
- android studio 在部署在手机上面的时候安装失败
- json数组取length(一条语句)
- Servlet生命周期与工作原理
- java学习(5),JVM内存模型以及GC回收算法
- 税控盘版开票助手开发
- win 创建svn服务端流程,配置权限
- 内部类
- 准确删除List中的整数值