c2j

导航

选择排序-C#

选择排序包括:简单选择排序和堆排序

简单选择排序:

基本思路:从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推

        /// <summary>
        /// 简单选择排序
        /// 稳定性:不稳定
        /// 时间复杂度:O(n^2)
        /// 空间复杂度:O(1)
        /// </summary>
        public static int[] SimpSelectSort(int[] array)
        {
            int temp = 0;
            for (int i = 0; i < array.Length; i++)
            {
                int minIndex = i;
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[minIndex] > array[j])
                    {
                        minIndex = j;
                    }
                }
                temp = array[minIndex];
                array[minIndex] = array[i];
                array[i] = temp;
            }
            return array;
        }    

 

堆排序:

基本思路:利用堆的特性进行排序

//TODO

posted on 2017-02-21 14:43  c2j  阅读(101)  评论(0编辑  收藏  举报