排序之选择排序

选择排序

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

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;
}
相关推荐
এ᭄画画的北北8 分钟前
力扣-35.搜索插入位置
数据结构·算法·leetcode
cylat18 分钟前
Day23 pipeline管道
人工智能·python·算法·机器学习
lucky_jiexia1 小时前
leetcode刷题经验
算法·leetcode·哈希算法
蓝澈11211 小时前
数据结构之常用排序算法(冒泡、选择等)
数据结构·算法·排序算法
有梦想的骇客7 小时前
书籍将正方形矩阵顺时针转动90°(8)0605
线性代数·算法·矩阵
有梦想的骇客7 小时前
书籍“之“字形打印矩阵(8)0609
java·算法·矩阵
Chenyu_3107 小时前
12.找到字符串中所有字母异位词
c语言·数据结构·算法·哈希算法
苏三福7 小时前
yolo11-seg ultralytics 部署版本
算法·yolo11
wuqingshun31415910 小时前
蓝桥杯 冶炼金属
算法·职场和发展·蓝桥杯