畢業複習資料結構,參考老趙 CodeTimer 與 eaglet 效能計數器,測試四種排序:冒泡、直接插入、簡單選擇、快速排序。
public static int[] RandomArray() {
Random ran = new Random();
int[] arr = new int[100];
for (int i = 0; i < 100; i++) arr[i] = ran.Next(1, 100);
return arr;
}
基本思想:比較相鄰記錄關鍵碼,前大於後則交換。
public class BubbleSort : IAction {
public void Action() {
int[] array = Program.RandomArray();
for (int a = 0; a < array.Length; a++) {
for (int b = array.Length - 1; b > a; b--) {
if (array[b] < array[b - 1]) {
int item = array[b];
array[b] = array[b - 1];
array[b - 1] = item;
}
}
}
}
}
後續將介紹其他三種演算法並進行效能比較。