21xrx.com
2024-11-22 12:13:18 Friday
登录
文章检索 我的文章 写文章
C++选择排序算法:从小到大排序
2023-06-23 10:20:03 深夜i     --     --
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),因此对于大量数据的排序不太适用,但是对于小数组的排序效果较好。

  
  

评论区

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