Laborator 4

Tehnici simple de sortare:

-Bubble Sort

-Insert Sort

-Select Sort

-Shaker Sort

void BubbleSort()

{

int i,s,aux;

do{

s=0;

for(i=0;i<n-1;i++)

if(a[i]>a[i+1])

{

aux = a[i];

a[j]= a[i+1];

a[i+1]= aux;

s=1;

}

}while(s!=0);

}

void InsertionSort()

{

int i,j,aux;

for(i=1;i<n;i++)

{

aux=a[i];

for(j=i-1;j>=0&&a[j]>aux;j--)

a[j+1] = a[j];

a[j+1] = aux;

}

}

void ShakerSort()

{

int i,s,aux,j;

for(i=0;i<n/2;i++)

{

s=0;

for (j=i;j<n-i-1;j++)

{

if (a[j]>=a[j+1])

{

aux=a[j];

a[j]=a[j+1];

a[j+1]=aux;

s=1;

}

}

for (j=n-2-i;j>i;j--)

{

if(a[j]<=a[j-1])

{

aux=a[j];

a[j]=a[j-1];

a[j-1]=aux;

s=1;

}

}

if(s==0)

break;

}

}

void SelectSort()

{

int i,j,aux;

for(j=0;j<n-1;j++)

{

int iMin=j;

for(i=j+1;i<n;i++)

if(a[i]<a[iMin])

iMin=i;

if(iMin!=j)

{

aux=a[j];

a[j]=a[iMin];

a[iMin]=aux;

}

}

}