选择排序

算法描述

   1. 假定未排序序列中第一位为数组最小值,通过与后面的数值的数值比较,找到未排序序列的最小值,与未排序序列第一位交换位置;

   2.重复步骤一,对剩余未排序序列进行比较找出最小值,与未排序序列中第一位数值交换位置,直到【数组】所有【数值】排序完成

图示:

  

代码实现:

  

  int tmp;//中间交换变量

            int index;//记录索引【位置】

            int indexVal;//记录索【引值】

            for (int i = 0; i < arr.Length - 1; i++)

            {

                index = i;

                indexVal = arr[i];

 

                for (int j = i + 1; j < arr.Length; j++)

                {

                    if (indexVal > arr[j])

                    {

                        indexVal = arr[j];

                        index = j;

                    }

                }

                tmp = arr[i];

                arr[i] = arr[index];

                arr[index] = tmp;

            }

 

posted @ 2022-04-09 17:21  今天星闪闪  阅读(46)  评论(0)    收藏  举报