【简单选择排序】

文章目录

  • 简单选择排序
    • 介绍
    • 工作原理
      • 示例代码
    • 分析

简单选择排序

介绍

简单选择排序。虽然它不如一些高级算法那样高效,但它的思想和实现方法对于理解排序算法的基本原理非常有帮助。

工作原理

简单选择排序的思想:从待排序的元素中选择最小的元素,然后将其与第一个元素交换位置。接着,从剩余的元素中选择最小的,与第二个元素交换位置,以此类推,直到所有元素都按照升序排列。

示例代码

#include 

using namespace std;

void selectionSort(int arr[], int n) {
    for (int i = 0; i < n - 1; ++i) {
        int min_index = i;
        for (int j = i + 1; j < n; ++j) {
            if (arr[j] < arr[min_index]) {
                min_index = j;
            }
        }
        // 交换最小元素与第i个元素的位置
        swap(arr[i], arr[min_index]);
    }
}

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

    cout << "排序前的数组: ";
    for (int i = 0; i < n; ++i) {
        cout << arr[i] << " ";
    }
    cout << endl;

    selectionSort(arr, n);

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

    return 0;
}

分析

简单选择排序的时间复杂度为O(n^2),其中n是要排序的元素个数。

你可能感兴趣的:(算法设计,算法,排序算法,数据结构)