当前位置:首页算法 > 正文

c++选择排序算法

作者:野牛程序员:2023-12-30 10:14:02算法阅读 2423

选择排序是一种简单直观的排序算法。它的基本思想是从待排序的数据中选择最小(或最大)的元素,放到已排序的数据的起始位置,然后再从剩余未排序的数据中选择最小(或最大)的元素,放到已排序的数据的末尾。以此类推,直到所有元素均排序完毕。

以下是C++中的选择排序算法示例:

#include <iostream>

void selectionSort(int arr[], int n) {
    for (int i = 0; i < n - 1; ++i) {
        // 找到未排序部分的最小元素的索引
        int minIndex = i;
        for (int j = i + 1; j < n; ++j) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }

        // 将最小元素与当前位置交换
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}

int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int n = sizeof(arr) / sizeof(arr[0]);

    selectionSort(arr, n);

    // 输出排序后的数组
    for (int i = 0; i < n; ++i) {
        std::cout << arr[i] << " ";
    }

    return 0;
}

这段代码演示了如何使用选择排序对一个整数数组进行排序。在 selectionSort 函数中,外层循环用于遍历整个数组,内层循环用于找到未排序部分的最小元素的索引,并进行交换。最终,整个数组会按升序排序。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击