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;
}
}
}