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

SCAU8643--简单选择排序

 

8643 简单选择排序

时间限制:1000MS  代码长度限制:10KB
提交次数:2235 通过次数:1301

题型: 编程题   语言: G++;GCC

Description

用函数实现简单选择排序,并输出每趟排序的结果



 

输入格式

第一行:键盘输入待排序关键的个数n
第二行:输入n个待排序关键字,用空格分隔数据


 

输出格式

每行输出每趟排序的结果,数据之间用一个空格分隔


 

输入样例

10
5 4 8 0 9 3 2 6 7 1


 

输出样例

0 4 8 5 9 3 2 6 7 1
0 1 8 5 9 3 2 6 7 4
0 1 2 5 9 3 8 6 7 4
0 1 2 3 9 5 8 6 7 4
0 1 2 3 4 5 8 6 7 9
0 1 2 3 4 5 8 6 7 9
0 1 2 3 4 5 6 8 7 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
#include <iostream>
#include <vector>using namespace std;void selectionSort(vector<int>& arr) {int n = arr.size();for (int i = 0; i < n - 1; ++i) {int minIndex = i;for (int j = i + 1; j < n; ++j) {if (arr[j] < arr[minIndex]) {minIndex = j;}}// 交换arr[i]和arr[minIndex]swap(arr[i], arr[minIndex]);// 输出当前趟排序后的数组for (int k = 0; k < n; ++k) {cout << arr[k];if (k != n - 1) {cout << " ";}}cout << endl;}
}int main() {int n;cin >> n;vector<int> arr(n);for (int i = 0; i < n; ++i) {cin >> arr[i];}selectionSort(arr);return 0;
}
  • 外层循环:i = 0n-2

  • 内层循环:从 i+1n-1 找最小值

  • 如果找到更小的值就记下标 min_index

  • 交换 a[i]a[min_index]

  • 打印当前数组状态

什么是简单选择排序?

选择排序每次从未排序部分中选出最小值,放到已排序部分的末尾。

排序思想:

  • 第1趟:从第1到第n个数中选最小的,和第1个交换;

  • 第2趟:从第2到第n个数中选最小的,和第2个交换;

  • ...

  • 第n-1趟:从第n-1到第n个数中选最小的,和第n-1个交换;

每一趟都输出当前排序状态。

 

http://www.xdnf.cn/news/768637.html

相关文章:

  • 2506js,活扩控件
  • 基于ubuntu和树莓派环境对游戏进行移植
  • cJSON简单使用
  • uniapp路由跳转toolbar页面
  • 为何ERP系统更倾向使用业务编码作为主键?兼顾可读性与系统集成的设计思考
  • 【Zephyr 系列 3】多线程与调度机制:让你的 MCU 同时干多件事
  • oracle sql 语句 优化方法
  • 数据库系统概论(十三)详细讲解SQL中数据更新(插入,修改与更新)
  • RocketMQ 消息发送核心源码解析:DefaultMQProducerImpl.send () 方法深度剖析
  • 前端开发知识体系全景指南
  • 小目标检测:YOLOV7改进之双坐标注意力(DCA)
  • Python Day41
  • 神经网络与深度学习(第一章)
  • 链式前向星图解
  • 排序算法C语言实现
  • Linux配置DockerHub镜像源配置
  • Qt实现的水波进度条和温度进度条
  • 神经网络中的梯度消失与梯度爆炸
  • cnn训练并用grad-cam可视化
  • 基于遥感图像深度学习的海洋测深
  • 2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序
  • 题目 3230: 蓝桥杯2024年第十五届省赛真题-星际旅行
  • [蓝桥杯]约瑟夫环
  • web架构2------(nginx多站点配置,include配置文件,日志,basic认证,ssl认证)
  • 2025年5月24日系统架构设计师考试题目回顾
  • 【RAG 应用的可视化框架】
  • 【C++】类的构造函数
  • 【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一
  • 软件测评师教程 第2章 软件测试基础 笔记
  • 大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森铃 Bagging Boosting