せいしゅん404 • 4年前
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int num[105];
int main(void){
int n,min=-1,tmp;
cin>>n;
for(int i=0;i<n;i++){
cin>>num[i];
}
//选择排序
for(int i=0;i<n;i++){
//把当前轮最小数的下标选出来
min=-1;
for(int j=i;j<n;j++){
if((min==-1)||num[min]>num[j]){
min=j;
}
}
//当前轮最小下标的数与第i个位置的书进行交换
tmp=num[i];
num[i]=num[min];
num[min]=tmp;
//swap(num[i],num[min]) 两个数的交换
cout<<"swap(a["<<i<<"], a["<<min<<"]):";
//按照要求输出每一轮的排序
for(int i=0;i<n;i++){
cout<<num[i]<<" ";
}
cout<<endl;
}
return 0;
}
评论:
请先登录,才能进行评论