排序之选择排序

选择排序

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

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;
}
相关推荐
feng_you_ying_li4 小时前
C++11,{}的初始化情况与左右值及其引用
开发语言·数据结构·c++
锅挤4 小时前
数据结构复习(第一章):绪论
数据结构·算法
skywalker_114 小时前
力扣hot100-5(盛最多水的容器),6(三数之和)
算法·leetcode·职场和发展
汀、人工智能4 小时前
[特殊字符] 第95课:冗余连接
数据结构·算法·链表·数据库架构··冗余连接
生信研究猿4 小时前
leetcode 226.翻转二叉树
算法·leetcode·职场和发展
一只小白0005 小时前
反转单链表模板
数据结构·算法
橘颂TA5 小时前
【笔试】算法的暴力美学——牛客 WY22 :Fibonacci数列
算法
XWalnut5 小时前
LeetCode刷题 day9
java·算法·leetcode
bIo7lyA8v5 小时前
算法稳定性分析中的随机扰动建模的技术9
算法
谢白羽5 小时前
vllm抢占机制详解
算法·vllm