交換類排序之快速排序

2021-08-19 14:02:56 字數 1484 閱讀 2460

packagesort.algorithm;//快速排序演算法:是一種交換排序

publicclassquiksort ;

quiksort sort =newquiksort();

sort.sortarray(data,0, data.length -1);

for(inti =0; i < data.length; i++)

system.out.print(data[i] +" ");

}

// 這裡不用返回值,直接對傳入的陣列進行操作

publicvoidsortarray(intdata,intfirst,intend)

// 然後從左邊向右邊開始掃瞄,找到乙個大於temp的元素

while(i < j && temp > data[i])

i++;

if(i < j)

}

// 將軸資料放在i位置中

data[i] = temp;

sortarray(data, first, i -1);

sortarray(data, i +1, end);

}

}

}

內部排序 交換類排序 快速排序

在氣泡排序中,由於掃瞄過程中只對相鄰的兩個元素進行比較,因此在互換兩個相鄰元素時只能消除乙個逆序,如果能通過兩個 不相鄰的 元素的交換,消除待排序記錄中的多個逆序則會大大加快排序的速度。快速排序方法中的一次交換可以消除多個逆序。演算法思想 從待排序記錄序列中選取乙個記錄 通常選取第乙個記錄 為樞軸,...

交換排序之快速排序

1.基本思想 假設要排序的陣列是array 0 array n 1 首先任意選取乙個資料 通常選用第乙個資料 作為關鍵資料,然後將所有比它的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。一趟快速排序的演算法是 1 設定兩個變數i j,排序開始的時候i 0,j n 1 2 以第...

交換排序之快速排序

問題及 檔名稱 main.cpp 作 者 徐群壯 完成日期 2015.12.15 版 本 號 v1.0 問題描述 資料結構例程 交換排序之快速排序 輸入描述 程式輸出 1.以第1個元素作為基準 include define maxsize 20 typedef int keytype 定義關鍵字型別...