选择排序

        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;
        }

 

在选择排序算法中使用了两层循环。 外层循环从数组的第一个元素移动到数组最后一个元素
之前的元素, 而内层循环则从数组的第二个元素移动到数组的最后一个元素, 并且查找比当
前外层循环所指元素更小的数值。 在内循环遍历一遍之后, 就会把数组内最小值赋值到数组
中合适的位置上。

原文地址:https://www.cnblogs.com/Francis-YZR/p/4971460.html