03.选择排序

devtools/2025/1/20 19:22:20/

一、题目思路

        选择排序是一种简单直观的排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕

外层循环:只需要排n-1个数
内层循环:比较时j从下一个数开始,直到最后一个数,记下最小值索引

二、代码实现

#include <stdio.h>void select_sort(int *arr, int size)
{int i;int j;int tmp;int min_index = 0;//排n-1个位置即可for (i = 0; i < size - 1; i++) {//找未排序数组中最小元素,记下索引,用于与待排位置交换min_index = i;for (j = i+1; j < size; j++){if (arr[j] < arr[min_index]) {min_index = j;}    }tmp = arr[i];arr[i] = arr[min_index];arr[min_index] = tmp;}return;
}void show(int *arr, int size)
{for (int i = 0; i < size; i++) {if (i==size-1)printf("%d\n", arr[i]);elseprintf("%d,", arr[i]);}return;
}int main()
{int num[] = {33,5,18,1,1,2,9};int size = sizeof(num)/sizeof(int);show(num, size);select_sort(num, size);show(num, size);return 0;
}
排序前
33,5,18,1,1,2,9
排序后
1,1,2,5,9,18,33


http://www.ppmy.cn/devtools/152167.html

相关文章

计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C#如何获取电脑中的端口号和硬件信息

我们经常在使用一个串口软件的时候&#xff0c;发现软件中的端口号并不是普通的COM1&#xff0c;而是带有硬件信息的。 那么如果我们使用C#编写软件时候&#xff0c;如何获取到串口的硬件信息呢&#xff1f; 思路就是通过读取设备管理器里的条目来实现&#xff0c;我这里给大家…

HTML5+Canvas实现的鼠标跟随自定义发光线条源码

源码介绍 HTML5Canvas实现的鼠标跟随自定义发光线条特效源码非常炫酷&#xff0c;在黑色的背景中&#xff0c;鼠标滑过即产生彩色变换的发光线条效果&#xff0c;且线条周围散发出火花飞射四溅的粒子光点特效。 效果预览 源码如下 <!DOCTYPE html PUBLIC "-//W3C//D…

Spring Web MVC综合案例

承接上篇文章——Spring Web MVC探秘&#xff0c;在了解Spring Web MVC背后的工作机制之后&#xff0c;我们接下来通过三个实战项目&#xff0c;来进一步巩固一下前面的知识。 一、计算器 效果展示&#xff1a;访问路径&#xff1a;http://127.0.0.1:8080/calc.html 前端代码&a…

Reactor 模式在 Edis、Nginx 和 Netty 中的应用与高性能网络模式解析

文章目录 参考文章Reactor 模式在 Edis、Nginx 和 Netty 中的应用与高性能网络模式解析一、Reactor 模式二、Redis 中的 Reactor 模式三、Nginx 中的 Reactor 模式四、Netty 中的 Reactor 模式五、Reactor 模式的优势六、总结 参考文章 redis&#xff0c;nginx&#xff0c;net…

掌握AutoGen:轻松控制多Agent框架中的代理对话退出(28/30)

一、AutoGen 框架初相识 在人工智能的蓬勃发展进程中&#xff0c;多智能体系统已然成为研究与应用的焦点领域。而 AutoGen 框架&#xff0c;作为多智能体对话领域的璀璨新星&#xff0c;正以其独特的魅力与强大的功能&#xff0c;引领着这一领域的创新潮流。它为开发者们搭建了…

【Redis】win10安装Redis

如果需要&#xff0c;先卸载 WIN10如何卸载redis_mob64ca12f831ae的技术博客_51CTO博客 下载 Releases tporadowski/redis (github.com) 我这里选择压缩包&#xff0c;需要手动解压、初始化、配置和安装服务 解压 启动 进入安装目录&#xff0c;这个cmd关闭即停止redis服…

[JavaScript] 深入理解流程控制结构

文章目录 1. **if-else 语句**基本语法&#xff1a;示例&#xff1a;扩展&#xff1a;else if 2. **switch-case 语句**基本语法&#xff1a;示例&#xff1a;注意事项&#xff1a; 3. **for 循环**基本语法&#xff1a;示例&#xff1a;扩展&#xff1a;for-in 和 for-of 4. *…