用简单选择排序对序列{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;
}
}