[数据结构与算法]简单选择排序算法

来源:互联网 发布:矩阵压缩matlab程序 编辑:程序博客网 时间:2024/05/08 05:59

简单选择排序:

设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(R,R[i+1],…,R[n]中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。

 代码如下:

        public  void SimpleSelect()        {            int[] inputIntArray = new int[8] { 8, 4, 7, 5, 2, 3, 6, 1 };            for (int i = 1; i < inputIntArray.Length; i++)            {//遍历7次 (N-1)                int t = i - 1;//设置数组下标                for (int j = i; j < inputIntArray.Length; j++)                {//从第i个开始进行循环  起始为数组第2个                    if (inputIntArray[t] > inputIntArray[j])                    {//获取最小值的INDEX                        t = j;                    }                }                //进行置换                int temp = inputIntArray[t];                inputIntArray[t] = inputIntArray[i - 1];                inputIntArray[i - 1] = temp;                //打印置换后的排序结果                PrintSortedResult(inputIntArray, i);            }        }        public  void PrintSortedResult(int[] inputIntArray, int num)        {            StringBuilder sb = new StringBuilder();            for (int i = 0; i < inputIntArray.Length; i++)            {                if (i == 0)                {                    sb.Append(inputIntArray[i].ToString());                }                else                {                    sb.Append("," + inputIntArray[i].ToString());                }            }            Console.WriteLine("第" + num + "次排序的结果:  " + sb.ToString() + "");               }


0 0
原创粉丝点击