首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C++ 选择排序

C++ 选择排序

作者头像
Dragon水魅
发布2026-01-23 18:59:38
发布2026-01-23 18:59:38
1070
举报
基本原理

选择排序的原理其实和冒泡排序很像,都是两层循环嵌套:

  • 设第一个元素为“标兵”,“标兵”的值为最小值,index 为最小值的 index 。
  • 遍历第一个元素之后的所有元素,若找到更小的值,则更新最小值和 index 。
  • 交换“标兵”和最小值,实现将最小值放在第一位,“标兵”后移,更新“标兵”。
  • 重复以上循环,直至遍历完毕。

以下 gif 参考https://blog.csdn.net/L_PPP/article/details/108498581

在这里插入图片描述
在这里插入图片描述
代码实现
代码语言:javascript
复制
#include <iostream>
#include <string>

using namespace std;

int main(){
    int array[10] = {1, 6, 8, 7, 9, 4, 3, 0, 2, 5};
    int len = sizeof(array) / sizeof(array[0]);
    int min_num = 0;  // 最小值
    int min_index = 0;  // 每一轮比较的最小值索引

    for (int i = 0; i < len; i++){
        min_num = array[i];
        min_index = i;
        for (int j = i + 1; j < len; j++){
            if (array[j] < min_num){
                min_num = array[j];
                min_index = j;  // 更新最小值的位置
            }
        }

        int temp = array[min_index];
        array[min_index] = array[i];
        array[i] = temp;
    }

    for (int i = 0; i < len; i++){
        cout << array[i] << " ";
        }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本原理
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档