Saturday, March 27, 2010

Bubble sort implementation in C


#Author : AgnelCodes
#include <stdio.h>

#define MAX 5
#define true 1

//Define the methods
void sort(int*);
void printarray(int*);
void swap(int*, int*);

int main(int argc, char* argv[])
{
int array[MAX] = { 50,40,20,60,100 };
sort(array);

}

void sort(int *ptr)
{
int swapbit=0;
while(true)
{
int i=0;
swapbit=0;
for(i=1;i<MAX;i++)
{
if(*(ptr+i-1)>*(ptr+i))
{
swap(ptr+i-1, ptr+i);
swapbit = 1;
}
}
if(swapbit == 0)
break;
printarray(ptr);
}
}

void swap(int *ptr1, int *ptr2)
{
int temp;
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}

void printarray(int *arrayptr)
{
int i=0;
printf("nThe values in the array are :n");
for(i;i<MAX;i++)
{
printf("n%d : %d",i,*(arrayptr+i));
}
}

No comments: