#include<iostream.h>
void main()
{
int i,count,*p;
int j;
cin>>count;
p=new int[count];
for(i=0;i<count;i++)
cin>>p[i];
for(i=0;i<count;i++)
cout<<p[i]<<" ";
cout<< endl;
/*
选择排序(正序)
*/
for (i = 0; i < count; i++) {
for (j = i + 1; j < count; j++) {
int temp;
if (p[i] > p[j]) {
temp = p[j];
p[j] = p[i];
p[i] = temp;
}
}
}
for(i=0;i<count;i++)
cout<<p[i]<<" ";
cout<< endl;
/*
冒泡排序(倒序)
*/
for (i = 0;i<count - 1;i++){
for (j = 0;j<count - i -1;j++){
if(p[j]<p[j+1]){
int temp;
temp = p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
}
for(i=0;i<count;i++)
cout<<p[i]<<" ";
cout<< endl;
/*
插入排序(正序)
*/
for (i = 1; i < count; i++) {
int temp = p[i];
int j = i;
while (temp < p[j - 1]) {
p[j] = p[j - 1];
j--;
if (j <= 0)
break;
}
p[j] = temp;
}
for(i=0;i<count;i++)
cout<<p[i]<<" ";
delete p;
}