您的位置:首页 > 其它

简单排序 --(冒泡排序,简单选择排序,直接插入排序)

2011-08-04 18:59 357 查看
public class SwapUtil {
	public static void swap(int i,int j,int[] block){
		int temp = block[i];
		block[i] = block[j];
		block[j] = temp;
	}
}


//冒泡排序
public class BubbleSort {
	static int[] bubble = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};
	
	public static void main(String[] args) {
		bubbleSort(bubble);
		for(int str : bubble){
			System.out.println(str);
		}
	}
	
	private static void bubbleSort(int[] bubble){
		boolean flag = true;
		for(int i = 0; i < bubble.length && flag; i++){
			flag = false;
			for(int j = bubble.length-1; j > i; j--){
				if(bubble[j - 1] > bubble[j]){
					SwapUtil.swap(j-1 ,j ,bubble);
					flag = true;
				}
			}
		}
	}
}


//简单选择排序
public class SelectSort {
	static int[] select = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};
	
	public static void main(String[] args) {
		quickSort(select);
		for(int i : select){
			System.out.println(i);
		}
	}
	
	private static void quickSort(int[] quick){
		for(int i = 0;i < quick.length; i++){
			int min = i;
			for(int k = quick.length-1; k > i; k--){
				if(quick[min] > quick[k]){
					min = k;
				}
			}
			if(min != 0){
				SwapUtil.swap(i, min, quick);
			}
		}
	}
}


//直接插入排序
public class InsertSort {
	static int[] insert = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};
	
	public static void main(String[] args) {
		insertSort(insert);
		for(int i : insert){
			System.out.println(i);
		}
	}
	
	private static void insertSort(int[] r){
		int i;
		int j;
		for(i=0; i<r.length; i++){
			int temp = r[i];
			for(j=i; j>0 && r[j-1]>temp; j--){
				r[j] = r[j-1];
			}
			r[j] = temp;
		}
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐