题解 | #C++选择排序#

C++选择排序

https://www.nowcoder.com/practice/3b6175426e704c0b9461628b2278631b

选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是每一次从待排序的数据元素中选择最小(或最大)的一个元素,放到序列的起始位置,然后再从剩余未排序元素中选择最小(或最大)的元素,放到已排序序列的末尾。这个过程不断地重复,直到所有元素都排好序。

选择排序的步骤如下:

  1. 初始状态: 给定包含 n 个元素的数组。
  2. 第一次选择: 从数组中选择最小的元素,与数组的第一个元素交换位置。
  3. 第二次选择: 从剩下的 n-1 个元素中选择最小的元素,与数组的第二个元素交换位置。
  4. 依此类推: 重复以上步骤,每次选择排序会确定一个未排序部分的最小元素,并将其放到已排序部分的末尾。
  5. 最终得到有序序列。
#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
    
    // write your code here......
    for (int i = 0; i < len - 1; i++)
    {
        int min = arr[i];
        for (int j = i + 1; j < len; j++)
        {
            if (min > arr[j])
            {
                int t = min;
                min = arr[j];
                arr[j] = t;
            }
        }
        arr[i] = min;
    }
    for (int i = 0; i < len; i++) {
        cout << arr[i] << ' ';
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务