选择排序
【问题描述】
有n个大小不等的梨, 请利用选择排序将他们按照从小到大的顺序排列, 并输出。 输入: 两行第一行一个整数n, 第二行n个随机正整数表示梨的重量( 1<=n<=100 )。 输出: 一行, 升序排列的整数序列。
【样例输入】
5
12 8 3 7 15
【样例输出】
3 7 8 12 15
#include<iostream> using namespace std; int main(){ int n,a[101],mina,pos; cin>>n; for(int i=1; i<=n; i++){ cin>>a[i]; } // 选择排序: 每遍历一次序列找出最小值,然后最小值前置。 for(int i=1; i<=n-1; i++){ pos=i; // 假设下标为i元素是最小值,则记录其下标。 // 位置j是递增的。 mina=a[i]; // 假设第一个元素最小,打擂台法。 for(int j=i+1; j<=n; j++){ if(a[j]<mina){ mina=a[j]; pos=j; // 记录当前最小值元素的下标。 } } swap(a[pos], a[i]); // 交换位置 } for(int i=1; i<=n; i++){ cout<<a[i]<<" "; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现