21xrx.com
2024-09-20 01:08:05 Friday
登录
文章检索 我的文章 写文章
C++选择排序算法实现代码
2023-07-03 12:13:07 深夜i     --     --
C++ 选择排序算法 实现代码

选择排序是一种简单而又基础的排序算法,它的基本思想是在一个未排序的序列中寻找最小的元素,将其放在序列的起始位置,然后继续在未排序的序列中寻找最小的元素,将其放在已经排序的序列的末尾,如此重复直至所有元素有序。下面是C++语言实现选择排序的代码:


void selectionSort(int arr[], int n){

  int i, j, min_idx;

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

    min_idx = i;

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

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

        min_idx = j;

    }

    swap(&arr[min_idx], &arr[i]);

  }

}

在上面的代码中,我们定义了一个名为selectionSort的函数,函数接收两个参数arr和n,其中arr是一个整型数组,n表示数组中元素的个数。在函数开始时,我们定义三个变量i、j和min_idx。因为选择排序将数组按升序排列,所以我们从数组的第一个元素开始,使用for循环遍历到n-1个元素。在每次循环中,我们将i赋值给min_idx,表示目前未排序部分最小值的下标,接着使用另一个for循环,从i的下一个元素开始遍历到数组的最后一个元素,如果发现了比当前最小值更小的数,则将min_idx更新为该数的下标。最后,我们使用一个swap函数来交换数组中当前位置和最小值位置上的元素,从而保证未排序部分始终是按升序排列的。

综上所述,选择排序是一个简单、易于理解但效率较低的排序算法,适用于小规模的数据排序,而对于大规模的数据排序,复杂度较高的算法(如归并排序和快速排序)更适合。但是选择排序的基本思想对于学习算法和理解排序过程仍然是非常重要的。

  
  

评论区

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