21xrx.com
2024-12-23 01:58:27 Monday
登录
文章检索 我的文章 写文章
C++选择排序法示例代码
2023-06-29 14:37:45 深夜i     --     --
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++清零数组

评论区

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