21xrx.com
2024-11-25 05:09:04 Monday
登录
文章检索 我的文章 写文章
C++中的选择排序算法
2023-07-04 23:17:37 深夜i     --     --
C++ 选择排序 算法

选择排序是一种简单直观的排序算法,它的实现思路是:首先在未排序的序列中找到最小(大)元素,然后将其放置到序列的起始位置;接着,在剩余的未排序序列中依次寻找最小(大)元素,放置到已排好序的序列的末尾。依次执行上述操作,直到整个序列有序。

在C++中实现选择排序的代码如下:

void selectionSort(int arr[], int n)

{

  int i, j, min_idx;

  //循环遍历数组,i代表已排好序的元素个数

  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]);

  }

}

在以上代码中,swap函数用于交换数组中的两个元素。选择排序的时间复杂度为O(n^2),其中n为数组的长度。虽然时间复杂度高于快速排序、归并排序等高级排序算法,但由于其代码实现简单、易于理解,常被用于教学和对小规模数据排序的应用场景中。

  
  

评论区

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