#include <iostream>
#include <vector>
#include <strstream>
int main()
{
int flag=0;
int flag_last=0;
std::vector<double> numarray={1, 4, 8, 1, 2, 3, 1};
for(int i=0;i<numarray.size();i++)
{
flag_last=flag=0;
for(std::vector<double>::iterator its=numarray.begin();its!=(numarray.end()-1-i);its++)
{
if(*its>*(its+1))
{
std::swap(*its,*(its+1));
flag++;
}
for(int i=0;i<numarray.size();i++)
std::cout<<numarray[i]<<" ";
std::cout<<std::endl;
}
std::strstream ss;
ss<<i+1;
std::string times;
ss>>times;
std::cout<<"NO."+times+":";
for(int i=0;i<numarray.size();i++)
std::cout<<numarray[i]<<" ";
std::cout<<std::endl;
if(flag_last==flag)
break;
}
return 0;
}