21xrx.com
2024-12-23 00:13:14 Monday
登录
文章检索 我的文章 写文章
C++简单选择排序代码
2023-07-04 23:48:34 深夜i     --     --
C++ 简单选择排序 代码

选择排序是一种简单直观,但效率较低的排序算法。它的基本思想是:通过 n-1 次的比较,从 n-i+1 个记录中选出关键字最小的记录,并和第 i (1<= i<=n) 个记录交换之。通过这样的比较和移动,使得在第 i 次比较后,前 i 个记录的关键字中包含了原文件中前 i 个记录中最小的关键字。以下是简单选择排序的代码实现:


void selectSort(int arr[], int n)

{

  //元素个数小于等于1时不需要排序

  if(n <= 1)

  

    return;

  

  //对元素进行选择排序

  for (int i = 0; i < n - 1; ++i)

  {

    int minIndex = i;

    //在需排序部分找到最小值

    for (int j = i+1; j < n; ++j)

    {

      if (arr[j] < arr[minIndex])

      

        minIndex = j;

      

    }

    //将最小值与开始位置交换

    if (i != minIndex)

    {

      swap(arr[i], arr[minIndex]);

    }

  }

}

在这个排序算法的实现中,我们首先对数组进行遍历,找到需要进行交换的元素。接着,我们在数组中找到当前未排序的部分中的最小元素,并将其与当前位置的元素交换。这样,每一个 pass 最小的元素都会被移到当前未排序的字段的首位。

虽然简单选择排序并不是最高效的算法,但它仍然可以对小型数据集进行排序,并且也是其他一些更加复杂的排序算法的基础,例如堆排序。如果您需要对小型数据集进行排序,或者想要研究排序算法的基础知识,那么选择排序是一个很好的入门算法。

  
  
下一篇: C++ Socket服务器

评论区

{{item['qq_nickname']}}
()
回复
回复