#include <stdio.h>
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::string;
void ShakerSort(int a[], int n)
{
int i,t,k,r,l;
l=0;
k=r=n-1;
do
{
for(i=r;i>l;i--)
if(a[i-1]>a[i])
{
t=a[i-1];
a[i-1]=a[i];
a[i]=t;
k=i;
};
l=k;
for(i=l;i<r;i++)
if(a[i]>a[i+1])
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
k=i;
};
r=k;
}while(l<r);
}
void main()
{
int Pole[] = {9, 4, 3, 1, 5, 6, 8, 2, 7};
cout<<"Shaker sort, pole pred tridenim: ";
cout<<endl;
for (int k= 0; k<9;k++) cout<<Pole[k]<<" ";
cout<<endl;
cout<<endl;
ShakerSort(Pole, 9);
cout<<"Pole po trideni: ";
cout<<endl;
for (int j= 0; j<9;j++) cout<<Pole[j]<<" ";
cout<<endl;
cout<<endl;
}