快速排序的java版本

原创 2015年07月06日 21:51:14
/*
 * 快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,
 * 则分别对这两部分继续进行排序,直到整个序列有序。
 */
public class quickSort {
	public  int partion(int[] list, int low, int high) {  
        int tmp = list[low];    //数组的第一个作为中轴  
        while (low < high) {  
            while (low < high && list[high] > tmp)   
                high--;  
            list[low] = list[high];   //比中轴小的记录移到低端  
            while (low < high && list[low] < tmp)  
                low++;  
            list[high] = list[low];   //比中轴大的记录移到高端  
        }  
        list[low] = tmp;              //中轴记录到尾  
        return low;                   //返回中轴的位置  
    } 
	public void quickSort(int[] list, int low, int high) {  
		if(list==null||list.length<0)
			return;
        if (low < high) {  
            int middle = partion(list, low, high);  //将list数组进行一分为二  
            quickSort(list, low, middle - 1);        //对低字表进行递归排序  
            quickSort(list, middle + 1, high);       //对高字表进行递归排序  
        }  
    }
	public static void main(String[] args) {
		int[] list={34,3,53,2,23,7,14,10};  
		quickSort qs=new quickSort();  
        qs.quickSort(list,0,list.length-1);  
        for(int i=0;i<list.length;i++){  
            System.out.print(list[i]+" ");  
        }  
        System.out.println(); 
	}
}

算法导论(一):快速排序与随机化快排

快速排序用到了分治思想,同样的还有归并排序。乍看起来快速排序和归并排序非常相似,都是将问题变小,先排序子串,最后合并。不同的是快速排序在划分子问题的时候经过多一步处理,将划分的两组数据划分为一大一小,...
  • haelang
  • haelang
  • 2015年03月20日 19:51
  • 3739

快速排序及优化(Java版)

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。 一次快速排序详细过程: 选择数组第一个值作为枢轴值。 代码实现:package Q...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年06月12日 20:56
  • 2670

排序算法(五)快速排序多种版本

快速排序 ,就像它的名称一样,是时间复杂度比较低的一种排序算法。      我们知道,快速排序是通过分治的方法,将一个大的区间划分成小区间(找一个枢纽,将大的数放置在枢纽的右边,小的数放置在枢纽左...
  • peiyao456
  • peiyao456
  • 2016年11月22日 21:23
  • 1404

递归分治算法之随机快速排序(Java版本)

/** * 递归分治算法学习之随机快速排序 * 采用随机选择枢纽元素的快速排序算法 * @author Sking */ package 递归分治; import java.util.Rand...
  • originalIntention
  • originalIntention
  • 2012年11月28日 00:08
  • 1248

QuickSort【快速排序C语言版本】

  • 2014年05月07日 15:38
  • 966KB
  • 下载

java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序

写在前边滴~~学习小甲鱼视频笔记,链接:http://bbs.fishc.com/portal.php 然后图文并茂,这是我自己的笔记so~~发表出来是为了更快的找到我自己的总结,所以想看官方解释的,...
  • wbzj1110
  • wbzj1110
  • 2015年07月08日 23:17
  • 776

冒泡归并和快速排序java源码

  • 2016年05月11日 20:30
  • 2KB
  • 下载

Java 快速排序

  • 2012年11月21日 19:35
  • 753B
  • 下载

JAVA实现快速排序

  • 2017年05月23日 21:18
  • 69KB
  • 下载

java实现快速排序小结

  • 2013年04月03日 11:06
  • 59KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快速排序的java版本
举报原因:
原因补充:

(最多只允许输入30个字)