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

选择排序(C语言)

一、步骤

选择排序的基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。

1.首先,我们先建立一个乱序数组,如:

 2.其次,我们遍历数组选出最大或最小的元素,与数组的尾部或首部位置的元素位置互换。在这里,为了提高效率,我们可以遍历一遍把最大和最小的元素一起选出,然后放到该在的位置。

3.重复上述步骤即可

图片详述:

二、代码

void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}
void SelectSort(int* arr, int n)
{int begin = 0, end = n - 1;while (begin < end){	int maxi = begin, mini = begin; for (int i = begin; i <= end; i++){if (arr[i] < arr[mini]){mini = i;}if (arr[i] > arr[maxi]){maxi = i;}}Swap(&arr[begin], &arr[mini]);if (begin == maxi) //begin的位置可能和maxi的位置重合,当执行上述代码Swap(&arr[begin], &arr[mini])时,begin位置的元素可能会跑到mini位置上去{maxi = mini;}Swap(&arr[end], &arr[maxi]);begin++;end--;}
}

相关文章:

选择排序(C语言)

一、步骤 选择排序的基本思想&#xff1a;每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的数据元素排完 。 1.首先&#xff0c;我们先建立一个乱序数组&#xff0c;如&#xff1…...

✍Qt自定义带图标按钮

✍Qt自定义带图标按钮 &#x1f4dd;问题引入 近段时间的工作中&#xff0c;有遇到这样一个需求 &#x1f4dd;&#xff1a; 一个按钮&#xff0c;有normal、hover、pressed三种状态的样式&#xff0c;并且normal和hover样式下&#xff0c;字体颜色和按钮图标不一样。 分析…...

【Git】如何在 Git 项目中引用另一个 Git 项目:子模块与子树合并

如何在 Git 项目中引用另一个 Git 项目&#xff1a;子模块与子树合并 在进行软件开发时&#xff0c;我们经常会遇到需要将一个 Git 项目&#xff08;B 项目&#xff09;引用到另一个 Git 项目&#xff08;A 项目&#xff09;的情况。这种需求通常出现在以下场景&#xff1a; …...

webstorm 打开prettier的项目代码后面会出现红色的波浪线

效果如图所有代码后面都有红色的波浪线。 解决File-Settings 找到Editor下面的inspections ...按照图示取消勾选ESLint再点Apply ok...

用 Python 从零开始创建神经网络(二):第一个神经元的进阶

第一个神经元的进阶 引言1. Tensors, Arrays and Vectors&#xff1a;2. Dot Product and Vector Additiona. Dot Product &#xff08;点积&#xff09;b. Vector Addition &#xff08;向量加法&#xff09; 3. A Single Neuron with NumPy4. A Layer of Neurons with NumPy5…...

一、文心一言问答系统为什么要分对话,是否回学习上下文?二、文心一言是知识检索还是大模型检索?三、文心一言的词向量、词语种类及多头数量

目录 一、文心一言问答系统为什么要分对话,是否回学习上下文? 二、文心一言是知识检索还是大模型检索? 三、文心一言的词向量、词语种类及多头数量 一、文心一言问答系统为什么要分对话,是否回学习上下文? 文心一言问答系统分对话的原因在于其设计初衷就是提供一个交互…...

C++ 的协程

现代C中的协程&#xff08;coroutines&#xff09;是C20引入的一项重大语言特性&#xff0c;它们允许函数在执行过程中可以暂停并稍后从暂停点恢复执行。协程提供了一种控制流机制&#xff0c;使得函数可以包含多个入口点和出口点&#xff0c;这与传统的单入口、单出口的函数模…...

D3的竞品有哪些,D3的优势,D3和echarts的对比

D3 的竞品 ECharts: 简介: ECharts 是由百度公司开发的一款开源的 JavaScript 图表库&#xff0c;提供了丰富的图表类型和高度定制化的配置选项。特点: 易于使用&#xff0c;文档详尽&#xff0c;社区活跃&#xff0c;支持多种图表类型&#xff08;如折线图、柱状图、饼图、散点…...

大厂计算机网络高频八股文面试题及参考答案(面试必问,持续更新)

目录 请简述 TCP 和 UDP 的区别? TCP 和 UDP 分别对应的常见应用层协议有哪些? UDP 的优缺点是什么?它适用于哪些场景? UDP 如何实现可靠传输? 请简述 HTTP 和 HTTPS 的区别? HTTP 协议的工作原理是什么? HTTP 状态码有哪些常见的类型及其含义? HTTP 哪些常用的…...

【bayes-Transformer-GRU多维时序预测】多变量输入模型。matlab代码,2023b及其以上

% 1. 数据准备 X_train 训练数据输入; Y_train 训练数据输出; X_test 测试数据输入; % 2. 模型构建 inputSize size(X_train, 2); numHiddenUnits 100; numResponses 1; layers [ … sequenceInputLayer(inputSize) biLSTMLayer(numHiddenUnits, ‘OutputMode’, ‘se…...

动手学深度学习69 BERT预训练

1. BERT 3亿参数 30亿个词 在输入和loss上有创新 两个句子拼起来放到encoder–句子对 cls-class分类 sep-seperate 分隔符 分开每个句子 告诉是哪个句子 两个句子给不同的向量 位置编码不用sin cos&#xff0c; 让网络自己学习 bert–通用任务 encoder 是双向的&#xff0c;…...

【2024软考架构案例题】你知道 Es 的几种分词器吗?Standard、Simple、WhiteSpace、Keyword 四种分词器你知道吗?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…...

Elman 神经网络 MATLAB 函数详解

Elman 神经网络 MATLAB 函数详解 一、引言 Elman 神经网络是一种在时间序列分析和动态系统建模领域广泛应用的递归神经网络&#xff08;RNN&#xff09;。MATLAB 提供了一系列强大的函数来创建、训练和应用 Elman 神经网络&#xff0c;使得用户能够方便地利用其处理具有时间序…...

vue el-date-picker 日期选择器禁用失效问题

当value-format"yyyy-MM-dd"的格式不要改为"yyyyMMdd"&#xff0c;否则会导致日期选择器禁用失效问题&#xff0c;因为该组件默认的格式就是yyyy-MM-dd。 <el-col v-for"(item, index) in formData" :key"index" ><el-date-…...

搭建Python2和Python3虚拟环境

搭建Python3虚拟环境 1. 更新pip2. 搭建Python3虚拟环境第一步&#xff1a;安装python虚拟化工具第二步&#xff1a; 创建虚拟环境 3. 搭建Python2虚拟环境第一步&#xff1a;安装虚拟环境模块第二步&#xff1a;创建虚拟环境 4. workon命令管理虚拟机第一步&#xff1a;安装扩…...

【HarmonyOS NEXT】一次开发多端部署(以轮播图、Tab栏、列表为例,配合栅格布局与媒体查询,进行 UI 的一多开发)

关键词&#xff1a;一多、响应式、媒体查询、栅格布局、断点、UI 随着设备形态的逐渐增多&#xff0c;应用界面适配也面临着很大问题&#xff0c;在以往的安卓应用开发过程中&#xff0c;往往需要重新开发一套适用于大屏展示的应用&#xff0c;耗时又耗力&#xff0c;而鸿蒙提供…...

ubontu--cuDNN安装

1. 下载 cuDNN https://developer.nvidia.com/cudnn 2. 拷贝到服务器/home/<username>文件夹下 解压缩到当前文件夹&#xff1a; tar -xvf cudnn-linux-x86_64-9.5.1.17_cuda11-archive.tar.xz复制头文件和库文件到cuda安装目录/usr/local/cuda/ sudo cp /home/usern…...

高项 - 项目范围管理

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 博文更新参考时间点&#xff1a;2024-12 高项 - 章节与知识点汇总&#xff1a;点击跳转 文章目录 高项 - 项目范围管理范围管理ITO规划监控 管理基础产品范围与项目范围管理新实践 5大过程组与范围管理过程概述裁…...

如何获取PostgreSQL慢查询?从小白到高手的实战指南

数据库优化是性能调优的核心&#xff0c;而慢查询则是性能瓶颈的罪魁祸首。如何找到慢查询并优化它们&#xff0c;是每个开发者和DBA都必须掌握的技能。 今天&#xff0c;我们就来聊聊如何在PostgreSQL中快速获取慢查询日志&#xff0c;并结合不同场景进行分析优化。本文风格参…...

golang分布式缓存项目 Day4 一致性哈希

注&#xff1a;该项目原作者&#xff1a;https://geektutu.com/post/geecache-day1.html。本文旨在记录本人做该项目时的一些疑惑解答以及部分的测试样例以便于本人复习 为什么使用一致性哈希 我该访问谁 对于分布式缓存来说&#xff0c;当一个节点接收到请求&#xff0c;如…...

PROJECT MOGFACE开源社区贡献指南:从代码阅读到提交PR的全流程

PROJECT MOGFACE开源社区贡献指南&#xff1a;从代码阅读到提交PR的全流程 你是不是也遇到过这样的情况&#xff1a;在GitHub上看到一个很酷的开源项目&#xff0c;比如最近挺火的PROJECT MOGFACE&#xff0c;心里痒痒的&#xff0c;也想贡献点代码&#xff0c;但一打开那庞大…...

从电动车痛点出发:双三相永磁电机如何靠‘弱磁’跑得更远更快?(深入对比凸极与隐极设计)

双三相永磁电机弱磁控制技术&#xff1a;破解电动车高速性能瓶颈的工程实践 电动车的高速巡航与急加速能力一直是用户关注的焦点&#xff0c;而永磁同步电机&#xff08;PMSM&#xff09;的弱磁控制技术正是解锁这一性能的关键。不同于传统三相电机&#xff0c;双三相永磁同步…...

解锁外语游戏新体验:XUnity自动翻译器完全指南 [特殊字符]

解锁外语游戏新体验&#xff1a;XUnity自动翻译器完全指南 &#x1f3ae; 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的生涩文本而苦恼吗&#xff1f;XUnity自动翻译器让你轻松打破语…...

FireRedASR Pro避坑指南:模型加载报错的快速解决方法

FireRedASR Pro避坑指南&#xff1a;模型加载报错的快速解决方法 1. 常见模型加载问题概述 当你第一次尝试运行FireRedASR Pro时&#xff0c;可能会遇到各种模型加载报错。这些错误通常集中在三个关键环节&#xff1a; 权重文件加载失败&#xff1a;PyTorch版本不兼容导致的…...

告别软路由?实测ARM架构MT7981硬路由刷OpenWrt:性能、功耗与稳定性深度对比

ARM硬路由 vs x86软路由&#xff1a;2024年高性能网络设备终极对决 在家庭与企业网络设备的选择上&#xff0c;x86架构软路由长期占据着性能王座&#xff0c;而传统硬路由则因扩展性不足被极客们视为"玩具"。但2023年MTK发布的MT7981芯片组彻底改变了这一格局——这颗…...

别再踩坑了!AgentScope调用本地MCP服务,用StdIOStatefulClient才是正确姿势

深度解析AgentScope集成MCP服务的正确实践&#xff1a;从协议匹配到高效调试 在AI应用开发领域&#xff0c;服务集成是构建复杂系统的关键环节。当开发者尝试将AgentScope与MCP服务结合时&#xff0c;往往会遇到各种意料之外的连接问题。这些问题的根源通常不在于代码逻辑本身&…...

两端间隔数总个数

两端间隔数总个数 结尾序号 - 开头序号 1需要将索引还原成长度&#xff0c;索引1就好了...

突破百度网盘限速壁垒:5步实现直链高速下载全攻略

突破百度网盘限速壁垒&#xff1a;5步实现直链高速下载全攻略 【免费下载链接】baiduyun 油猴脚本 - 一个免费开源的网盘下载助手 项目地址: https://gitcode.com/gh_mirrors/ba/baiduyun 你是否经历过这样的场景&#xff1a;加班后想下载公司共享的设计素材包&#xff…...

从“跟网”到“构网”:新能源并网变流器的稳定性为何一个怕强一个怕弱?用大白话讲清失稳机理

新能源并网变流器的"性格差异"&#xff1a;为什么构网型怕强电网&#xff0c;跟网型怕弱电网&#xff1f; 想象一下&#xff0c;你正在指挥两支风格迥异的交响乐团——一支严格遵循指挥家的每个动作&#xff08;跟网型变流器&#xff09;&#xff0c;另一支则自带节奏…...

Swagger2Word:高效转换与文档自动化的API文档解决方案

Swagger2Word&#xff1a;高效转换与文档自动化的API文档解决方案 【免费下载链接】swagger2word 项目地址: https://gitcode.com/gh_mirrors/swa/swagger2word 在软件开发过程中&#xff0c;API文档的管理和维护常常成为团队协作的痛点。开发人员使用Swagger/OpenAPI规…...