冒泡排序

/**
 * 冒泡排序
 *
 */
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 i = 0; i < nElems; i++) {
			System.out.print(a[i]+" ");
		}
		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);
				}
			}
		}
	}
	
	/**
	 * 數值大的後移
	 * @param one
	 * @param two
	 */
	public void swap(int one, int two){
		long temp = a[one];
		a[one]=a[two];
		a[two]=temp;
	}

}

/**
 * 冒泡排序實例
 */
	
public class BubbleSortApp{
	
	public static void main(String[] args) {
		int maxSize = 100;
		ArrayBub arr;
		arr = new ArrayBub(maxSize);
		arr.insert(77);
		arr.insert(88);
		arr.insert(12);
		arr.insert(53);
		arr.insert(23);
		arr.insert(17);
		arr.insert(99);
		arr.insert(58);
		arr.insert(1);
		arr.insert(49);
		System.out.println("排序前:");
		arr.display();
		
		arr.bubbleSort();
		System.out.println("排序後:");
		arr.display();
	}
}


發佈了26 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章