static void Main(string[] args) { RArray arr = new RArray(10); Random r = new Random(100); for (int i = 0; i < 10; i++) { arr.Insert(r.Next(0, 100)); } arr.DisPlayElements();
Console.WriteLine("Bubble Sort....."); RArray list = BubbleSort(arr); list.DisPlayElements();
Console.WriteLine("Selection Sort....."); list = SelectionSort(arr); list.DisPlayElements(); Console.ReadKey(); }
static RArray SelectionSort(RArray arr) { for (int i = 0; i <= arr.upper; i++) { int min = i; for (int j = i+1; j <= arr.upper; j++) { if(arr[min]>arr[j]) { min = j; } } int temp = 0; temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } return arr; }
在选择排序算法中使用了两层循环。 外层循环从数组的第一个元素移动到数组最后一个元素
之前的元素, 而内层循环则从数组的第二个元素移动到数组的最后一个元素, 并且查找比当
前外层循环所指元素更小的数值。 在内循环遍历一遍之后, 就会把数组内最小值赋值到数组
中合适的位置上。