21xrx.com
2025-07-12 14:20:54 Saturday
文章检索 我的文章 写文章
C++选择排序法示例代码
2023-06-29 14:37:45 深夜i     40     0
C++ 选择排序 示例代码

选择排序是一种简单但有效的排序算法,其基本思想是在未排序的序列中,依次选择最小或最大的元素放在已排序的序列末尾或开头。这个过程会不断重复,直到整个序列有序。

下面是用C++语言实现选择排序的示例代码:

#include <iostream>
using namespace std;
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]);
  }
}
void printArray(int arr[], int size)
{
  int i;
  for (i = 0; i < size; i++)
    cout << arr[i] << " ";
  cout << endl;
}
int main()
{
  int arr[] = 12;
  int n = sizeof(arr) / sizeof(arr[0]);
  selectionSort(arr, n);
  cout << "排序后的数组: \n";
  printArray(arr, n);
  return 0;
}

以上代码通过调用selectionSort()函数实现了选择排序。接受两个参数:一个整数数组和数组大小。

printArray()函数用来输出排序后的数组,它使用一个for循环遍历数组并打印输出每个元素。

在主函数中,我们定义了一个整数数组arr并对其初始化。然后,我们计算出数组的大小并调用selectionSort()函数对其进行排序。最后,我们在控制台上输出排序后的数组。

选择排序的时间复杂度为O(n^2),因此在大规模数据的情况下,算法的效率受到很大的影响。但是,选择排序是一种简单且直观的排序算法,用于教学和学习算法时效果很好。

  
  
下一篇: 用C++清零数组

评论区