You are on page 1of 1

SORTARI(1)

INSERTION SORT
void insertion(int a[],int n)
{
int i,x,j;
for(i=2;i<=n;i++)
{
x=a[i];
j=i-1;
while(j>0&&x<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=x;
}
}

SELECTION SORT
void selection(int a[],int n)
{
int i,min,k,j;
for(i=1;i<=n-1;i++)
{
min=a[i];
k=i;
for(j=i+1;j<=n;j++)
if(a[j]<min)
{
min=a[j];
k=j;
}
a[k]=a[i];
a[i]=min;
}
}

BUBBLE SORT
void bubble(int a[],int n)
{
int i,j,aux;
for(i=2;i<=n;i++)
for(j=n;j>=i;j--)
if(a[j]<a[j-1])
{
aux=a[j];
a[j]=a[j-1];
a[j-1]=aux;
}
}

BUBBLE SORT OPTIMIZAT


void optimalbubble(int a[],int n)
{
int k,j,gasit=1,i=2,aux;
do
{
gasit=0;
for(j=n;j>=i;j--)
{
if(a[j]<a[j-1])
{
aux=a[j];
a[j]=a[j-1];
a[j-1]=aux;
gasit=1;
k=j+1;
}
}
i=k;
}
while(gasit);
}

You might also like