递归实现选择排序.
思路:
1.定位数组中的最大元素或最小元素
2.将其与第一个元素交换位置
3.接着将剩余未排序的元素中的最大值或最小值与第二个元素交换位置
4.以此类推,直到排序完成
示例:
[ 8, 5, 1, 9, 3 ] //原始数组
[ 1, 5, 8, 9, 3 ] //3与8交换
[ 1, 3, 8, 9, 5 ] //3与5交换
[ 1, 3, 5, 9, 8 ] //9与8交换
[ 1, 3, 5, 8, 9 ] //排序完成后的数组
代码:
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n)
{//当数组大小为0或1时直接返回if (n <= 1) {return;}//找到未排序部分最小元素的索引int minIndex = 0;for (int i = 1; i < n; i++) {if (arr[i] < arr[minIndex]) {minIndex = i;}}//将最小元素与开头的元素交换位置swap(arr[0], arr[minIndex]);//递归的对剩余元素排序selectionSort(arr + 1, n - 1);//arr + 1 将指针后移一位,n - 1排除排序的元素
}int main()
{//初始化一个数组int arr[] = { 7,2,1,8,4,9 };//n的大小int n = sizeof(arr) / sizeof(arr[0]);//调用函数selectionSort(arr, n);//输出排序后的数组for (int i = 0; i < n; i++) {cout << arr[i] << " ";}return 0;}
相关文章:
递归实现选择排序.
思路: 1.定位数组中的最大元素或最小元素 2.将其与第一个元素交换位置 3.接着将剩余未排序的元素中的最大值或最小值与第二个元素交换位置 4.以此类推,直到排序完成 示例: [ 8, 5, 1, 9, 3 ] //原始数组 [ 1, 5, 8, 9, 3 ] //3与8交换 [ 1, 3, 8, 9, 5 ] //3与5交换 [ 1,…...
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
目录 Node.js 文件系统模块(二) Node.js 文件系统模块(三) Node.js 文件系统模块(四) Node.js 路径模块 Node.js 连接 MySQL Node.js nodemon Node.js 操作 MySQL Node.js 应用 Node.js 文件系统模块…...
公司的销售经理面临哪些压力和挑战?
公司的销售经理面临哪些压力和挑战? 作为公司的销售经理,通常会面临以下挑战和压力: 1. 销售目标难以达成。销售经理需要承担销售目标,这通常是一项艰巨的任务。他们需要制定销售策略,与客户建立联系,并确保…...
【Linux系统编程】如何创建进程(什么是fork函数?进程创建的原理是什么?)
目录 一、前言 二、 进程创建的初次了解(创建进程的原理) 三、什么是fork函数? 💦初识fork函数 💦fork函数的四个为什么? ⭐为什么fork()要给子进程返回0,给父进程返回子进程pidÿ…...
【opencv】计算机视觉基础知识
目录 前言 1、什么是计算机视觉 2、图片处理基础操作 2.1 图片处理:读入图像 2.2 图片处理:显示图像 2.3 图片处理:图像保存 3、图像处理入门基础 3.1 图像成像原理介绍 3.2 图像分类 3.2.1 二值图像 3.2.2灰度图像 3.2.3彩色图像…...
Node——Node.js简介
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它能够让JavaScript脚本运行在服务端,这使得JavaScript成为与PHP、Python等服务端语言平起平坐的脚本语言。 1、认识Node.js Node.js是当今网站开发中非常流行的一种技术,它以简单易…...
小型洗衣机什么牌子好又便宜?性价比迷你洗衣机推荐
由于日常所穿的内衣裤由于各种原因,时间一久就很容易产生细菌,而且和其他大件的衣物一起混洗,很容易造成细菌的交叉感染,积攒起来洗就更不卫生了,留在内衣裤上的分泌物会继续滋生细菌,比如闷热的环境下念珠…...
INFINI Easysearch 与华为鲲鹏完成产品兼容互认证
何为华为鲲鹏认证 华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云、私有云、混合云、桌面云)推出的一项合作伙伴计划,旨在为构建持续发展、合作共赢的鲲鹏生态圈,通过整合华为的技术、品牌资源,与合作伙伴共享商机和利…...
将linux服务器 设置成 proxy.SOCKS5 服务器
gpt: 如果你想在 Linux 服务器上设置一个 SOCKS5 代理服务器,你可以使用一些现有的工具,比如 Shadowsocks、Dante、或者其他支持 SOCKS5 协议的软件。下面是一个使用 Dante 的简单示例: 1. **安装 Dante:** bash sudo apt-g…...
无mac电脑生成uniapp云打包私钥证书的攻略
uniapp顾名思义是一个跨平台的开发工具,大部分uniapp的开发者,其实并没有mac电脑来开发,但是生成ios的证书,官网的教程却是需要mac电脑的,那么有没有办法无需mac电脑即可生成uniapp云打包的私钥证书呢? 下…...
py 启动默认浏览器
要在Python中启动默认浏览器,可以使用第三方库如webbrowser或pyperclip,也可以使用操作系统特定的命令行调用。以下是几个不同的方法: 使用webbrowser库: import webbrowser webbrowser.open("http://example.com")这…...
scala可变参数列表使用
在Scala中,可以使用可变参数列表(varargs)来定义一个函数,以接受可变数量的参数。示例如下: def printArgs(args: String*): Unit {args.foreach(println) }// 使用可变参数列表 printArgs("Hello", "…...
经验分享:JMeter控制RPS
一、前言 RPS (Request Per Second)一般用来衡量服务端的吞吐量,相比于并发模式,更适合用来摸底服务端的性能。我们可以通过使用 JMeter 的常数吞吐量定时器来限制每个线程的RPS。对于RPS,我们可以把他理解为我们的TPS,我们就…...
JavaScript中的for循环你用对了吗?
🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-for循环 目录 循环结构 循环思想(三要素) 实现…...
WordPress(10)解决中文连接问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、修改的前后二、自定义结构讲明三、修改方法前言 提示:这里可以添加本文要记录的大概内容: 1.中文连接如:http://www.lplovemm.love/2023/11/12/测试 2.这种连接在提交sitemap收录的时…...
2023年小美赛认证杯国际赛A题解题思路+数据分享版+部分代码
小美赛作为一个与美赛高度相似的比赛,通常作为很多队伍的美赛练手赛,本次也将尝试帮助大家对A题进行求解,希望能够对大家有所帮助。真实的选题人数评估预计明天进行公布 难度 B>DC>A 选题 A>B>D>C 问题A(MCM&am…...
删除list中除最后一个之外所有的数据
1.你可以新建一个list List<Integer> listnew ArrayList<>();int i0;while (i<100){list.add(i);}List<Integer> subList list.subList(list.size()-1, list.size());System.out.println("原list大小--"list.size());System.out.println("…...
北京筑龙助力中粮集团采购供应链改革加速跑
11月6日,在第六届中国国际进口博览会(简称“进博会”)上,中粮集团与来自全球的供应商签约进口农产品,金额超百亿美元,签约额、进口量、进口来源地覆盖范围均创历史新高。 这只是中粮集团落实集中采购&…...
SpringBoot学习笔记-实现微服务:匹配系统(中)
笔记内容转载自 AcWing 的 SpringBoot 框架课讲义,课程链接:AcWing SpringBoot 框架课。 CONTENTS 1. 同步玩家位置1.1 游戏信息的记录1.2 实现多线程同步移动 2. 同步碰撞检测3. 实现游戏结束界面4. 持久化游戏状态4.1 创建数据库表4.2 保存游戏对局信息…...
【复杂网络建模】——基于代理的社会网络建模(Agent-Based Modeling,ABM)[Python实现]
目录 一、复杂网络建模方法 二、基于代理的社会网络建模实现及Python实现代码 一、复杂网络建模方法 复杂网络是一种由大量相互连接的元素(节点或顶点)组成的网络结构,这些连接通常是非常复杂和动态的。这些网络可以在各种领域中发现,包括社交网络、生物学系统、信息技术…...
注意力的几何本质:一个空间与两个算子的统一框架
1. 项目概述:这不是又一篇讲Attention机制的“科普文”如果你最近翻过几篇顶会论文,或者在GitHub上扫过几个热门Transformer库的源码,大概率会在某个角落撞见“The Geometry of Attention: One Space, Two Operators”这个标题。它不像“Atte…...
AI工程师必备:三款主流工具的实操落地指南
1. 项目概述:一份真正“够用”的AI资讯简报,到底长什么样?你有没有过这种体验:每天早上打开邮箱,收进十几封AI领域的Newsletter——有的标题写着“深度解析LLM推理优化”,点开发现通篇是论文摘要堆砌&#…...
AI时代什么建站软件功能强大?从GEO流量重构看CMS的智慧进化
2026年,互联网的底层逻辑正在发生一场“静默革命”。如果你的思维还停留在“建一个网站只是为了有个官网给客户看”,那么你可能正在被时代抛弃。当下的AI已经不仅仅是一个聊天工具,它正在重构整个信息的传播秩序。传统的SEO(搜索引…...
从 0 到 1:用魔珐星云打造真实可用的智能健身私教【技术原理文章】
> 我在学习具身智能的实战文章,本文为技术文章,非广告一、健身交互痛点:传统数字人 / 健身工具缺失沉浸式陪伴式互动日常健身长期存在行业共性痛点:不管是纯视频课程,还是传统云端实时交互数字人,都难以…...
实时反欺诈Agent部署失败率高达68%?金融IT总监亲述4类典型故障链及容灾切换黄金12分钟法则
更多请点击: https://codechina.net 第一章:实时反欺诈Agent部署失败率高达68%?金融IT总监亲述4类典型故障链及容灾切换黄金12分钟法则 某头部城商行在2023年Q3上线新一代实时反欺诈Agent集群后,监控平台显示首次部署成功率仅32…...
2026年国内镜像站安全与效率评测:GPT-5.5的真实体验
在国内访问海外大模型,延迟高、连接不稳、支付合规是老生常谈的三座大山。为了完成本次GPT-5.5的全流程实测,我借助库拉AI聚合平台完成了所有调用——该平台支持国内外主流AI模型的统一对接,国内可直连访问,注册用户每日提供可用额…...
【收藏干货】2026年AI Coding全面爆发!程序员终极职业升级攻略,告别被替代焦虑
2026年,AI编码技术迎来规模化落地爆发期,行业彻底告别“人工纯编码”的传统模式。对于所有程序员而言,当下最核心的生存与发展策略,早已不是埋头敲代码,而是从“被动写代码的执行者”全面升级为“主动驾驭AI的价值创造…...
【函数栈帧的创建和销毁:一文看懂 C/C++ 函数调用的底层秘密】
本文适合:被“局部变量为什么是随机值”、“函数怎么传参”、“返回值怎么带回来”这些问题困扰过的初学者。 文末会解释:为什么返回局部变量的引用有时能打印出正确值,但依然是错的?Hello,大家好呀,这里是小J,函数栈帧…...
原神抽卡数据分析神器:告别盲目抽卡,用数据掌控你的欧皇之路
原神抽卡数据分析神器:告别盲目抽卡,用数据掌控你的欧皇之路 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾在原神抽卡时…...
Unity接入海康UMP流全流程:签名认证、HTTP长连接与自定义渲染
1. 这不是简单的“拉流”,而是一场跨协议、跨权限、跨引擎的精准对接你有没有试过在Unity里直接填一个RTSP地址,比如rtsp://admin:123456192.168.1.64:554/Streaming/Channels/101,然后点播放——结果黑屏、报错、卡死,或者更糟&a…...
