C#——选择排序

来源:互联网 发布:100兆访客网络限速多少 编辑:程序博客网 时间:2024/06/06 04:31

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。

下面来看看代码

    public class SelectSorter    {        public void Sort(int[] list)        {            int i, j, temp, k;            for (i = 0; i < list.Length - 1; i++)            {                k = i;                for (j = i + 1; j < list.Length; j++)                {                    if (list[k] > list[j])                    {                        k = j;                    }                }                if (k != i)                {                    temp = list[k];                    list[k] = list[i];                    list[i] = temp;                }            }        }    }    public class MainClass    {        public static void Main()        {            int[] iArray = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 };            for (int i = 0; i < iArray.Length; i++)                Console.Write("{0} ", iArray[i]);            Console.WriteLine();            SelectSorter ss = new SelectSorter();            ss.Sort(iArray);            for (int i = 0; i < iArray.Length; i++)                Console.Write("{0} ", iArray[i]);            Console.WriteLine();            Console.ReadKey();        }    }


原创粉丝点击