#include<iostream>
using namespace std;
int n;
int main()
{
int i,j,k;
cin >> n;
int a[n+5];
for(i=1;i<=n;i++)cin >> a[i];//输入
for(i=1;i<n;i++)
{
int mini=a[i],m=i;//假定最小值是a[i],指针m指向mini
for(int j=i+1;j<=n;j++)
if(a[j]<mini)
{
mini=a[j];//如果mini值更新了,更新m指针
m=j;
}
if(m!=i)
swap(a[i],a[m]);//如果mini有更新,就和a[i]交换
for(int k=1;k<=n;k++) cout << a[k] << " ";//输出
cout << endl;
}
return 0;
}
时间复杂度为O(n2)