网站建设资讯

NEWS

网站建设资讯

java中怎么实现快速排序

这篇文章给大家介绍java中怎么实现快速排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

10余年的吉县网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整吉县建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“吉县网站设计”,“吉县网站推广”以来,每个客户项目都认真落实执行。

一、原理

    选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。

二、描述

    一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位置,如果没有继续比较下一个,直到找到第一个比基准值大的值才交换。直到从前往后的比较索引>从后往前比较的索引,结束第一次循环,此时,对于基准值来说,左右两边就是有序的了。重复上述循环。

三、实例

public class maxtest {	public static void main(String[] args) {		//###################快速排序法start###################//int[] state = {2,13,7,6,15,9,10,12,3,16,8,11,14,5,1};		int start = 0;		int end = state.length-1;
		System.out.print("初始值:");		for (int i = 0; i < state.length; i++) {
			System.out.print(state[i]+",");
		}
		System.out.println("");
		
		sort(state,start,end);		//###################快速排序法end###################//
	}	
	public static int partition(int []array,int lo,int hi){//固定的切分方式int key=array[lo];while(lo=key&&hi>lo){//从后半部分向前扫描hi--;
            }
            array[lo]=array[hi];while(array[lo]<=key&&hi>lo){
                lo++;
            }
            array[hi]=array[lo];
        }
        System.out.println("");    	for (int i = 0; i < array.length; i++) {
			System.out.print(array[i]+",");
		}
        array[hi]=key;return hi;
    }    public static void sort(int[] array,int lo ,int hi){if(lo>=hi){return ;
        }int index=partition(array,lo,hi);
        sort(array,lo,index-1);
        sort(array,index+1,hi); 
    }
}

结果如下:

初始值:2,13,7,6,15,9,10,12,3,16,8,11,14,5,1,1,13,7,6,15,9,10,12,3,16,8,11,14,5,13,1,2,5,6,3,9,10,12,9,16,8,11,14,15,13,1,2,3,6,6,7,10,12,9,16,8,11,14,15,13,1,2,3,5,6,7,8,9,9,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,13,12,11,14,15,13,1,2,3,5,6,7,8,9,10,11,12,11,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,

图列如下:

java中怎么实现快速排序

关于java中怎么实现快速排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文标题:java中怎么实现快速排序
本文网址:http://njwzjz.com/article/pgghdo.html