插入排序----快速排序

package paixu;
/**
 * 
 * @author asus
 *插入排序
 *思想:将一个无序的数插入到一个有序的数列中
 */
public class ChaRu extends Sort{
	public void sort(Comparable[] a){
		int n=a.length;//数组长度
		for (int i = 1; i < n; i++) {
			for(int j=i;j>0 && (Sort.less(a[j], a[j-1]));j--){
				Sort.exch(a, j, j-1);
			}
		}
	}
	public static void main(String[] args) {
		Comparable[] a = {6,5,23,665,121,23};
		XuanZe xz=new XuanZe();
		xz.sort(a);
		xz.show(a);
	}
}

哎呀 忘说了  这里面使用了一些父类的方法   父类在上一篇有代码大笑

package paixu;
/**
 * 
 * @author asus
 *快速排序-------交换排序的一种
 */
public class KuaiSu extends Sort{
	public void sort(Comparable[] a,int lo,int hi){
		int j=KuaiSu(a, lo, hi);
		KuaiSu(a,lo,j-1);
		KuaiSu(a,j+1,hi);
	}
	public int KuaiSu(Comparable[] a,int lo,int hi){
		int i=lo;
		int j=hi+1;
		Comparable v=a[lo];
		while(true){
			while(Sort.less(v, a[++i]))
				if(i>=hi) break;
			while(Sort.less(a[--j],v ))
				if(j<=lo) break;
			if(i>=j) break;
			Sort.exch(a, i, j);
		}
		Sort.exch(a, lo, j);
		return j;
	}
	public static void main(String[] args) {
		Comparable[] a = {6,5,23,665,121,23};
		XuanZe xz=new XuanZe();
		xz.sort(a);
		xz.show(a);
	}
}

明天面试一定要过呀!!!! 可怜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值