快速排序的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(); 
	}
}

相关文章推荐

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

/** * 递归分治算法学习之随机快速排序 * 采用随机选择枢纽元素的快速排序算法 * @author Sking */ package 递归分治; import java.util.Rand...

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

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

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

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

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

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

Java 快速排序

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

JAVA实现快速排序

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

快速排序 随机化版本

/* 函数:快速排序 a[p..q-1] 中的每一个元素小于a[q] a[q+1..r] 中的每个元素均大于a[q] 通过产生随机数的方法,保证等概率从候选项中选择主元. 时间:15.7.15 Jas...

java实现快速排序小结

  • 2013年04月03日 11:06
  • 59KB
  • 下载

Java版快速排序法

  • 2012年01月05日 12:20
  • 1KB
  • 下载

算法导论:快速排序及其随机化版本

快速排序的描述: 基于算法导论第七章快速排序的伪代码编写的代码。里面的伪代码简单易懂,易于实现!不需要搞出一堆的判断条件,写着很舒服,看着也舒服。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:快速排序的java版本
举报原因:
原因补充:

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