当前位置: 代码迷 >> 综合 >> 2021秋季《数据结构》_EOJ 1052.选择排序
  详细解决方案

2021秋季《数据结构》_EOJ 1052.选择排序

热度:12   发布时间:2023-12-10 19:46:29.0

题目

思路

找到最小值后再交换,而不是找到一个交换一个

代码

#include<bits/stdc++.h>
using namespace std;void selectionSort(int* a, int n)
{
    for (int i = 0; i < n - 1; i++){
    int tmp = a[i];int tmpidx = i;for (int j = i + 1; j < n; j++){
    if (a[j] < tmp){
    tmp = a[j];tmpidx = j;}}int tmps = a[tmpidx];a[tmpidx] = a[i];a[i] = tmps;for (int k = 0; k < n - 1; k++){
    cout << a[k] << ' ';}cout << a[n - 1] << endl;}
}int main()
{
    int n; cin >> n;int* a = new int[n];for (int i = 0; i < n; i++)cin >> a[i];selectionSort(a, n);return 0;
}
  相关解决方案