快速分割排序

package junit.test;


public class QuickSort2 {  
	public static int[] array = { 5,2,6,8,4,7,3};  
	
	
	//快速排序  
	void quick_sort(int s[], int index, int last)  
	{  
		int x = s[index];
		for (int i2 = 0; i2 < s.length; i2++) {
  			System.out.print(s[i2]+"  ");
  		}
  		
  		System.out.println("-----------------------------");
		
  		if (index<last) {
  			int i = index, j = last;  
  			while (i<=j) {
  				if (s[i]>s[j]) {
  					int x2 = s[i];
  					s[i]=s[j];
  					s[j]=x2;
  				}
  				
  				i++;
  				j--;
			}
  			
			quick_sort(s, index, --i);
			quick_sort(s, ++i, last);
		}
  		
	}  
	
	
	public static void main(String[] args) {
		new QuickSort2().quick_sort(array, 0, array.length-1);
	}
}  



思想是,分,治,合,这是分割排序的例子,快速排序的变种,特点就是,两边同时进一格,而不是一边一边来。


}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值