- 选择排序
AC
- @ 2026-10-24 16:58:32
//选择排序加索引
#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[100005];
int idx[100005];
int q[20];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
idx[a[i]] = i;
}
for (int i = 1; i <= m; i++) {
cin >> q[i];
}
int k = 1;
for (int i = 1; i < n; i++) {
int pos = idx[i];
swap(a[i], a[pos]);
idx[a[i]] = i;
idx[a[pos]] = pos;
if (q[k] == i) {
for (int j = 1; j <= n; j++) {
cout << a[j] << " ";
}
cout << endl;
k++;
}
if (k > m) {
break;
}
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 1721
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 398
- 已通过
- 97
- 上传者