简单选择排序

Posted

tags:

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

继续完成大话数据结构里的简单选择排序,简单排序排序的思想是:通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录。书中用的是下标,我感觉有些不好理解,故就更加麻烦的用了一个循环来查找下标元素,尽管这样时间复杂度增大了,但胜在好理解,当前就是想增大自己的代码量,增强自己的编程能力,故先用此方法,等学到后面再补充,代码如下;

  #include<iostream>
  using namespace std;

  int main()
  {
    int a[] = { 9, 1, 5, 8, 3, 7, 4, 6, 2 };

    int min;

    for (int i = 0; i < sizeof(a) / sizeof(int); i++)
    {
      min = a[i];
      for (int j = i + 1; j < sizeof(a) / sizeof(a[0]); j++)//经过这个循环能找出最小值,但无法确定最小值的下标
      {
        if (min > a[j])
        {
          min = a[j];
        }
      }

      for (int j = i + 1; j < sizeof(a) / sizeof(a[0]); j++)//对找出的最小值的元素,然后进行交换
      {
        if (a[j] == min)
        {
          int b;
          b = a[i];
          a[i] = a[j];
          a[j] = b;
        }
      }

   }

    for (int i = 0; i < sizeof(a) / sizeof(int); i++)//输出排好序的数组
    {
      cout << a[i] << "";
    }
    return 0;
  }

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

简单选择排序就是简单~~~

选择排序之二:简单选择排序

排序算法6--选择排序--简单选择排序

选择排序(简单选择排序和堆排序)

第二篇,选择排序算法:简单选择排序堆排序

排序算法2--简单选择排序堆排序