排序之选择排序

选择排序

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

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;
}
相关推荐
资生算法程序员_畅想家_剑魔5 分钟前
算法-回溯-14
java·开发语言·算法
致Great10 分钟前
大模型对齐核心技术:从第一性原理完整推导 PPO 算法!
人工智能·算法·大模型·agent·智能体
_w_z_j_12 分钟前
二叉树的右视图(BFS或DFS)
算法·深度优先·宽度优先
cyyt27 分钟前
深度学习周报(12.22~12.28)
人工智能·算法·机器学习
WBluuue28 分钟前
Codeforces Global 31 Div1+2(ABCD)
c++·算法
会员果汁41 分钟前
算法-并查集-C
c语言·开发语言·算法
努力学算法的蒟蒻1 小时前
day47(12.28)——leetcode面试经典150
算法·leetcode·面试
byzh_rc1 小时前
[算法设计与分析-从入门到入土] 复杂算法
数据库·人工智能·算法·机器学习·支持向量机
Sunsets_Red1 小时前
待修改莫队与普通莫队优化
java·c++·python·学习·算法·数学建模·c#
星火开发设计1 小时前
深度优先搜索(DFS)详解及C++实现
c++·学习·算法·计算机·深度优先·大学生·期末考试