简单排序算法-C#

 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
  
  主要有:简单选择排序、树型选择排序和堆排序。
简单选择排序

 简单选择排序的基本思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录 进行交换。共需进行i-1趟比较,直到所有记录排序完成为止。例如:进行第i趟选择时,从当前候选记录中选出关键字最小的k号记录,并和第i个记录进行交 换

c#代码:
 #region 简单选择排序

        static void SimpleSelectSort(ref int[] array)
        {
            for (int n = 0; n < array.Length; n++)
            {
                int position = GetMinPosition(array, n);
                if (n != position)
                {
                    int temp = array[n];
                    array[n] = array[position];
                    array[position] = temp;
                }
            }
        }
        /// <summary>
        /// 在数组array中从下标i开始,查找最小数字的下标,并返回
        /// </summary>
        /// <param name="array"></param>
        /// <param name="i"></param>
        /// <returns></returns>
        static int GetMinPosition(int[] array, int i)
        {
            int temp = array[i];
            int position = i;
            for (int n = i; n < array.Length; n++)
            {
                if (array[n] < temp)
                {
                    temp = array[n];
                    position = n;
                }
            }
            return position;
        }
        #endregion




本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

posted @ 2010-08-20 23:35  音乐啤酒  阅读(203)  评论(0编辑  收藏  举报