简单选择排序

简单选择排序:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(0≤i

内部for循环完全完成一次,选出最小值,再完全循环一次选出次小值,依次类推。

C#示例代码:

using System;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] sqList = new int[] { 2, 1, 3, 4 };
            SimpleSelectionSort(sqList);
            sqList.ToList().ForEach(s => Console.Write(s + " "));
            Console.ReadLine();
        }

        static void SimpleSelectionSort(int[] sqList)
        {
            for (int i = 0; i < sqList.Length; i++)
            {
                int min = i;
                for (int j = i + 1; j < sqList.Length; j++)
                {
                    if (sqList[j] < sqList[min])
                    {
                        min = j;
                    }
                }

                if (min != i)
                {
                    Swap(sqList, min, i);
                }
            }
        }

        static void Swap(int[] sqList, int index1, int index2)
        {
            int value1 = sqList[index1];
            sqList[index1] = sqList[index2];
            sqList[index2] = value1;
        }
    }
}

你可能感兴趣的:(简单选择排序)