首页 > 试题广场 >

用简单选择排序对序列{56,43,23,11,65,78,3

[问答题]

用简单选择排序对序列{56,43,23,11,65,78,33}进行升序排序,写出每一趟的排序结果。

//
// Created by John on 2021/02/24.
// 选择排序
//
#include<iostream>
using namespace std;
template<class ElemType>
void SelectSort(ElemType* A,int n){
    int min,i,j;//数组元素的个数
    for ( i = 0; i < n - 1; ++i) {//进行n-1趟选择
        min = i;
        for ( j = i + 1; j < n; ++j) {
            if (A[min] > A[j]) min = j;
        }
        //交换元素
        if (min != i) {
            ElemType temp = A[min];
            A[min] = A[i];
            A[i] = temp;
        }
        //打印检查当前趟的元素排列情况
        cout<<"第"<<i+1<<"趟的结果:";
        for (int k = 0; k < n; ++k) {
            cout<<A[k]<<" ";
        }
        cout<<endl;
    }
}
打印结果:

发表于 2021-02-24 18:26:46 回复(0)
发表于 2020-05-01 17:12:44 回复(0)