快速排序
来源:互联网 发布:因特驰软件 编辑:程序博客网 时间:2024/06/16 12:23
主要写一下快速排序,基本思想就是:
随机取一个值作为中间值,此处我们取第一个,然后按照大于中间值得数放到其右边,小于中间值的数放到其左边,依次下去,知道排序完成。
时间复杂度为:O(nlogN)
空间复杂度:O(N)
public class quickSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] numList = {3,7,6,4,9,7,8,1,10}; quick(numList); for(int i=0;i<numList.length;i++){ System.out.print(numList[i]+" "); } } public static void quick(int[] num){ if(num.length > 0){ quickSort(num,0,num.length-1); } } public static void quickSort(int[] num,int low,int high){ if (low < high) { int middle = getMiddle(num,low,high); quickSort(num,low,middle-1); quickSort(num,middle+1,high); } } public static int getMiddle(int[] num,int low,int high){ int middle = num[low]; while(low<high){ if((low<high)&&(num[high]>=middle)){ high--; } num[low] = num[high]; if((low<high)&&(num[low]<=middle)){ low++; } num[high] = num[low]; } num[low] = middle; return low; }}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- ubuntu代码放到vs下出错
- Hibernate中@Embedded和@Embeddable注解的使用
- JDBC编程简介
- C#入门3.3——数据类型之值类型
- POJ 1228 Grandpa's Estate -
- 快速排序
- Android 存储系统之架构篇
- PAT甲级练习题A1007.Maximum Subsequence Sum (25)
- 【poj1740】 A New Stone Game
- 串行口工具
- HDU 3371 Connect the Cities 【最小生成树,Prime算法+Kruskal算法】
- BZOJ 1087 [SCOI2005]互不侵犯King
- Telerik for Winform 2010版下载、安装、初次使用
- C++中几个问题