21xrx.com
2024-12-22 22:32:20 Sunday
登录
文章检索 我的文章 写文章
C++选择排序算法代码
2023-07-05 11:29:07 深夜i     --     --
C++ 选择排序 算法代码

选择排序是一种简单且常用的排序算法,它的原理是每次从未排序的部分中选出最小(或最大)的数放到已排序的部分的末尾。下面是C++实现的选择排序算法代码:


// 选择排序算法实现

void selection_sort(int arr[], int len)

{

  int i, j, min_idx;

  for (i = 0; i < len - 1; i++)

  {

    // 找出未排序部分中最小的元素

    min_idx = i;

    for (j = i + 1; j < len; j++)

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

        min_idx = j;

    // 把最小元素放到已排序的部分的末尾

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

  }

}

上述代码使用了嵌套循环,外层循环控制选择的轮数,内层循环查找当前未排序部分的最小元素,然后进行交换。这样依次选择最小的元素,直到所有元素都被排序完成。

选择排序算法的时间复杂度是$O(n^2)$,是比较低效的算法,但是在元素数量较小的情况下,其性能表现还是比较不错的。此外,由于选择排序算法只需要一个额外的空间来存储临时值,因此其空间复杂度是$O(1)$,是一种比较节省空间的算法。

总之,选择排序算法是一种简单且易于理解的排序算法,虽然其时间复杂度不如其他高级算法,但它对于一些小型数据集的排序仍然表现不错。

  
  

评论区

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