当前位置: 首页 > news >正文

选择排序算法

一 概述
       选择排序是一种简单直观的排序算法,其核心是"选择-交换”。

      将数组分为已排序区间(前部)和未排序区间(后部)每轮从未排序区间选择最小元素,将其与未排序区间的第一个元素交换,通过n-1轮(数组长度为n)完成排序。
二  关键步骤

 以数组[6,4,7,8,2]为例:

第1轮:找到最小值 2,与第一个元素 6交换 → [2,4,7,8,6]
第2轮:在剩余部分找到最小值 4(已在正确位置) → 保持
第3轮:找到 6与 7交换 → [2,4,6,8,7]
第4轮:找到 7与 8交换 → 完成排序

三 C++代码实现

#include <iostream>
using namespace std;

void selectionSort(int arr[], int n) {
    for (int i = 0; i < n-1; ++i) {  // 需要n-1轮选择
        int minIndex = i;            // 记录最小值的位置
        
        // 在未排序区间[i, n-1]中找最小值
        for (int j = i+


http://www.mrgr.cn/news/93232.html

相关文章:

  • 离线地图显示
  • Redis数据结构——list
  • Redis数据结构——set
  • Java多线程与高并发专题——ConcurrentHashMap 在 Java7 和 8 有何不同?
  • C++————引用
  • 递归入手三维动态规划
  • Idea配置注释模板
  • 用CMake编译glfw进行OpenGL配置,在Visual Studio上运行
  • 图解MOE大模型的7个核心问题并探讨DeepSeekMoE的专家机制创新
  • 5年前问题的答案,如何造统计信息
  • Mybatis中的设计模式
  • 安装微软最新原版系统,配置好系统驱动并保留OOBE全新体验
  • JAVA入门——反射
  • 《Operating System Concepts》阅读笔记:p188-p199
  • 蓝桥杯C组真题——巧克力
  • Linux软件包管理
  • HTTP 黑科技
  • uniapp:小程序将base64图片字符串保存到手机相册
  • 免费分享一个软件SKUA-GOCAD-2022版本
  • C++11中atomic