排序之选择排序

选择排序

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

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;
}
相关推荐
Chester_19995 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
裕晟资质规划6 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
en.en..7 小时前
C语言 标准输入 / 输出缓冲区
算法
吃好睡好便好9 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
专注仿真10 小时前
Spring AI 实现智能对话系统项目指南
数据结构·spring·机器学习
靠沿11 小时前
贪心算法专题(二)
算法·贪心算法
间歇性努力持续性发呆的野生快乐选手11 小时前
高级数据结构:树状数组
数据结构
猎头南楼11 小时前
具身智能模型部署方向的能力要求与技术栈梳理
人工智能·深度学习·算法
啥都想学点的研究生12 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归