(五)簡單排序-冒泡排序

冒泡排序

ArrayBub.java


package JavaApp_bubbleSort;

/**
 * 冒泡排序
 * 
 * @author qingshuang
 * 
 */
public class ArrayBub {
	private long[] a;
	private int nElems;

	public ArrayBub(int max) {// 構造函數
		a = new long[max];
		nElems = 0;
	}

	public void insert(long value) {
       a[nElems]=value;
       nElems++;
	}
	public void display(){
		for(int j=0;j<nElems;j++){
			System.out.print(a[j]+" ");
		}
		System.out.println();
	}
	//冒泡排序
	public void bubbleSort(){
		int out,in;
		for(out=nElems-1;out>1;out--){
			for(in=0;in<out;in++){
				if(a[in]>a[in+1])swap(in,in+1);
			}
		}
	}

	private void swap(int one, int two) {
		long temp=a[one];
		a[one]=a[two];
		a[two]=temp;
	}
}

BubbleSortApp.java(測試類)



package JavaApp_bubbleSort;

public class BubbleSortApp {

	public static void main(String[] args) {
		int maxSize = 100;
		ArrayBub arr;
		arr = new ArrayBub(maxSize);
		arr.insert(77);
		arr.insert(99);
		arr.insert(44);
		arr.insert(55);
		arr.insert(22);
		arr.insert(88);
		arr.insert(11);
		arr.insert(00);
		arr.insert(66);
		arr.insert(33);
		arr.display();// 顯示未排序前的順序
		arr.bubbleSort();// 調用排序
		arr.display();// 顯示排序後的內容

	}

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章