21xrx.com
2024-11-05 19:33:30 Tuesday
登录
文章检索 我的文章 写文章
C++选择排序实现教程
2023-07-06 17:11:54 深夜i     --     --
C++ 选择排序 实现教程

选择排序是一种简单易懂的排序算法,它的思想是:每次从未排序部分中找到最小的元素,将其与未排序部分中的第一个元素交换位置。重复此过程直到所有元素都被排序。

以下是使用C++语言实现选择排序的教程:

实现步骤:

1. 定义一个数组作为输入数据。

2. 使用嵌套循环分别遍历未排序的元素和已排序的元素。

3. 在未排序的元素中找到最小值,并与未排序的第一个元素交换位置。

4. 重复步骤3,直到所有元素被排好序。

代码实现:

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;

    // 将最小元素与未排序的第一个元素交换位置

    int temp = arr[min_idx];

    arr[min_idx] = arr[i];

    arr[i] = temp;

  }

}

主函数中调用选择排序函数,并输出结果:

int main()

{

  int arr[] = 64;

  int n = sizeof(arr)/sizeof(arr[0]);

  selectionSort(arr, n);

  cout << "排序后的数组为:";

  for (int i=0; i

    cout << arr[i] << " ";

  return 0;

}

输出结果:排序后的数组为:11 12 22 25 64

选择排序算法的时间复杂度为O(n²),虽然它很容易实现,但当数据量较大时效率较低。因此,在实际应用中,选择排序往往仅作为学习排序算法的入门练习。

  
  

评论区

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