#include <stdio.h>
#include <stdlib.h>
void bubblesort1(int *array,int len);
void bubblesort2(int *array,int len);
void showarray(int *array,int len);
int main(int argc,char *argv[])
{
int array[] = {44,3,38,5,47,15,36,26,27,2,46,4,19,50,48};
showarray(array,sizeof(array)/sizeof(int));
bubblesort1(array,sizeof(array)/sizeof(int));
showarray(array,sizeof(array)/sizeof(int));
bubblesort2(array,sizeof(array)/sizeof(int));
showarray(array,sizeof(array)/sizeof(int));
return 0;
}
void bubblesort1(int *array,int len)
{
if (len < 2) return;
int ii;
int jj;
for (ii = len -1;ii > 0;ii--)
{
for (jj = 0;jj < ii;jj++)
{
if (array[jj] > array[jj + 1])
{
array[jj] += array[jj + 1];
array[jj + 1] = array[jj] - array[jj + 1];
array[jj] -= array[jj +1];
}
}
}
}
void bubblesort2(int *array,int len)
{
if (len<2) return;
int ii;
for (ii = 0;ii < len - 1;ii++)
{
if (array[ii] > array[ii + 1])
{
array[ii] += array[ii + 1];
array[ii + 1] = array[ii] - array[ii + 1];
array[ii] -= array[ii +1];
}
}
bubblesort2(array,--len);
}
void showarray(int *array,int len)
{
for (int i = 0;i< len;i++)
{
printf ("%d ",array[i]);
}
printf("\n");
}