【模板】选择排序第k趟结果-题解

描述

赵老师来检查大家有没有用对选择排序。
现在要求大家把第k次操作后的数据输出检查。
对一个长度为n(1<=n<=3000)的数组a进行选择排序(从小到大),输出在选择第k(1<=k<=n)趟时数组的内容

输入描述

输入两行
第一行两个整数,第一个整数表示n,第二个整数表示k
第二行n个整数,代表数组元素(均在int范围内)

输出描述

输出在选择第k趟时数组的内容,每两个数字之间用空格隔开

代码

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

int main(){
int n,k;
cin >> n >> k;
int in[n];
for(int i = 0;i<n;i++){
cin >> in[i];
}
for (int i = 0; i < k; 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;
}

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