数据结构和算法之简单选择排序

Posted weiqiangwaideshijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法之简单选择排序相关的知识,希望对你有一定的参考价值。

 /// <summary>
        /// 简单选择排序
        /// 给定数组:int[] arr={里面n个数据};
        /// 第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;
        /// 第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换;
        /// 以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成。
        /// </summary>
        /// <param name="arry"></param>
        public static void EasySelectSort(int[] arry)
        {
            for (int i = 0; i < arry.Length-1; i++)
            {
                int k = i;//标记最小的数字的索引
               
                for ( int j = k+1; j < arry.Length-1; j++)
                {
                    if(arry[j]<arry[k])//找到最小的数据
                    {
                        k = j;
                    }
                }
                //内层循环结束找到最小的数字
                if(k!=i)
                {
                    Swap(arry, k, i);
                }
            }
        }

时间复杂度:n^2

以上是关于数据结构和算法之简单选择排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法系列之选择排序

[Java数据结构与算法]简单排序之插入排序

数据结构和算法排序算法之选择排序

重温基础算法内部排序之简单插入排序法

算法基础之选择排序

排序算法之直接选择排序