【模板】选择排序-题解

描述

小王同学又来学习新的排序了,今天学的是选择排序。现在他想试一试自己学的新知识。

从键盘输入n,表示有n个数,对n个数进行从小到大排序,然后输出排序后的数组,两个数字间用空格隔开。

请使用选择排序;

输入描述

两行,第一行一个整数n,n的范围小于2000.

第二行有n个整数,每个整数之间用空格隔开,每个数字均在1000,000,000以内

输出描述

排序后的数组

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
using namespace std;

int main(){
int n;
cin >> n;
int in[n];
for(int i = 0;i<n;i++){
cin >> in[i];
}
for (int i = 0; i < n; i++){
int tmp = i;
for (int j = i; j < n; j++){
if (in[j] < in[tmp]){
tmp = j;
}
}
swap(in[i], in[tmp]);
}
for(int i = 0;i<n;i++){
cout << in[i] << " ";
}
return 0;
}


【模板】选择排序-题解
https://chenxi-tijie.pages.dev/2025/07/【模板】选择排序-题解/
作者
chenxi
发布于
2025年7月3日
许可协议