21xrx.com
2025-07-09 02:21:43 Wednesday
登录
文章检索 我的文章 写文章
C++选择排序算法:从小到大排序
2023-06-23 10:20:03 深夜i     21     0
C++ 选择排序算法 从小到大排序

选择排序是一种常用的排序算法之一,它的实现过程相对简单,也是 C++ 编程语言中经常使用的一种排序算法。它的实现思路是,从初始序列中选择一个数作为最小值,然后从剩下的数中依次找到最小值,将其与当前位置交换。这一过程不断重复,直至整个序列排序完成。

下面我们来通过 C++ 代码实现选择排序算法:

#include <iostream>
using namespace std;
void selection_sort(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;
      
    }
    int temp = arr[i];
    arr[i] = arr[min_idx];
    arr[min_idx] = temp;
  }
}
int main() {
  int arr[] = 8;
  int n = sizeof(arr) / sizeof(arr[0]);
  cout << "Original array: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  selection_sort(arr, n);
  cout << "Sorted array: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

在这段代码中,我们首先定义了一个 `selection_sort` 函数,该函数接收两个参数。第一个参数代表待排序数组,第二个参数代表数组长度。在函数中,我们使用两层循环,分别用于查找最小值和交换元素。

主函数中,我们先定义了一个待排序数组,然后输出该数组的初始排序结果。最后调用 `selection_sort` 函数,完成排序,并输出排序后的结果。

在实现中,选择排序的时间复杂度为 O(n^2),因此对于大量数据的排序不太适用,但是对于小数组的排序效果较好。

  
  

评论区