21xrx.com
2024-12-22 21:32:34 Sunday
登录
文章检索 我的文章 写文章
C++选择排序算法代码示例
2023-07-08 01:02:33 深夜i     --     --
C++ 选择排序 算法 代码示例

选择排序是一种简单的排序算法,它的基本思路是将待排序序列分为已排序部分和未排序部分,每次找到未排序部分中的最小值,然后将其放到已排序部分的末尾,如此往复直到排序完成。下面展示了 C++ 实现选择排序算法的代码示例:


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

  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;

      

    }

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

  }

}

首先,我们定义了一个名为 `selectionSort` 的函数,该函数接收两个参数,一个是待排序数组 `arr`,一个是数组的大小 `n`。在函数中,我们使用两个嵌套的循环来实现选择排序的核心流程。

外层循环从数组的第一个元素开始进行迭代,每次迭代会将数组的已排序部分的最后一个元素向右移动一位,并且在未排序部分中寻找最小的元素。

内层循环从已排序部分的末尾开始迭代,每次迭代都与当前未排序部分中元素进行比较,如果该元素小于已记录的最小值元素,则更新最小元素的索引值。

最后,我们将已排序部分的最后一个元素和未排序部分的最小元素进行交换,确保当前最小元素被放置到了已排序部分的末尾。

对于选择排序算法的时间复杂度,最坏情况下需要进行 $O(n^2)$ 次比较和 $O(n)$ 次交换操作。因此,当数据规模较大时,选择排序的效率会显著降低,不适用于处理大规模数据。

  
  

评论区

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