排序之选择排序

选择排序

工作原理:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序区间的末尾。

eg: 4 1 3 1 5 2

step1. swap(4,1) 1 4 3 1 5 2

step2. swap(4,1) 1 1 3 4 5 2

step3. swap(3,2) 1 1 2 4 5 3

step4. swap(4,3) 1 1 2 3 5 4

step5. swap(5,4) 1 1 2 3 4 5

c++ 复制代码
#include<iostream>

using namespace std;

int main(){
    int size = 6;
    int nums[] = {4,1,3,1,5,2};
    for(int i = 0;i<size;i++){
        int min = i;
        for(int j = i+1;j<size;j++){
            if(nums[j] < nums[min]){
                min = j;
            }
        }
        int temp = nums[i];
        nums[i] = nums[min];
        nums[min] = temp;
    }
    for(int i = 0;i<6;i++){
        cout<<nums[i]<<" ";
    }
    return 0;
}
相关推荐
KingRumn2 小时前
Linux信号之标准信号与实时信号
linux·算法
源代码•宸5 小时前
Leetcode—620. 有趣的电影&&Q3. 有趣的电影【简单】
数据库·后端·mysql·算法·leetcode·职场和发展
2301_800256116 小时前
地理空间数据库中的CPU 和 I/O 开销
数据库·算法·oracle
一个不知名程序员www7 小时前
算法学习入门---结构体和类(C++)
c++·算法
XFF不秃头9 小时前
力扣刷题笔记-旋转图像
c++·笔记·算法·leetcode
王老师青少年编程9 小时前
csp信奥赛C++标准模板库STL案例应用3
c++·算法·stl·csp·信奥赛·lower_bound·标准模版库
有为少年10 小时前
Welford 算法 | 优雅地计算海量数据的均值与方差
人工智能·深度学习·神经网络·学习·算法·机器学习·均值算法
Ven%10 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の10 小时前
爬楼梯(动态规划)
算法·动态规划