#include <iostream>
#include <cmath>
using namespace std;
int random(int c)
{
while(true)
{
int a=rand();
if (a<c&&a!=0)
{
return a;
}
}
}
class Demo_sort
{
private:
int Ddata[10];
public:
Demo_sort()
{
for(int i=0;i<10;i++)
{
Ddata[i]=random(100);
}
}
friend std::ostream& operator<<(ostream& a,Demo_sort Demo)
{
for(int i=0;i<10;i++)
{
a<<Demo.Ddata[i]<<"*****"<<endl;
}
return a;
}
void SI_sort()
{
for(int i=0;i<10;i++)
{
int temp=Ddata[i];
for(int pos=0;pos<=i;pos++)
{
if(Ddata[i]<Ddata[pos])
{
for(int k=i;k>pos;k--)
{
Ddata[k]=Ddata[k-1];
}
Ddata[pos]=temp;
break;
}
}
}
}
void SS_sort()
{
for(int i=0;i<10;i++)
{
int temp=Ddata[i],pos;
for(int k=i;k<10;k++)
{
if(temp>Ddata[k])
{
temp=Ddata[k];
pos=k;
cout<<Ddata[k]<<endl;
}
}
if(temp==Ddata[i])
{
continue;
}
Ddata[pos]=Ddata[i];
Ddata[i]=temp;
cout<<"*************"<<endl;
}
}
};
int main()
{
Demo_sort Demo;
cout<<Demo;
Demo.SS_sort();
cout<<Demo;
return 0;
}
#include <cmath>
using namespace std;
int random(int c)
{
while(true)
{
int a=rand();
if (a<c&&a!=0)
{
return a;
}
}
}
class Demo_sort
{
private:
int Ddata[10];
public:
Demo_sort()
{
for(int i=0;i<10;i++)
{
Ddata[i]=random(100);
}
}
friend std::ostream& operator<<(ostream& a,Demo_sort Demo)
{
for(int i=0;i<10;i++)
{
a<<Demo.Ddata[i]<<"*****"<<endl;
}
return a;
}
void SI_sort()
{
for(int i=0;i<10;i++)
{
int temp=Ddata[i];
for(int pos=0;pos<=i;pos++)
{
if(Ddata[i]<Ddata[pos])
{
for(int k=i;k>pos;k--)
{
Ddata[k]=Ddata[k-1];
}
Ddata[pos]=temp;
break;
}
}
}
}
void SS_sort()
{
for(int i=0;i<10;i++)
{
int temp=Ddata[i],pos;
for(int k=i;k<10;k++)
{
if(temp>Ddata[k])
{
temp=Ddata[k];
pos=k;
cout<<Ddata[k]<<endl;
}
}
if(temp==Ddata[i])
{
continue;
}
Ddata[pos]=Ddata[i];
Ddata[i]=temp;
cout<<"*************"<<endl;
}
}
};
int main()
{
Demo_sort Demo;
cout<<Demo;
Demo.SS_sort();
cout<<Demo;
return 0;
}