/* C program to sort an array using radix sort LINKED LIST implementation*/

#include < stdio.h>

#include < conio.h>

#include < stdlib.h>

void radix(int a[],int n,int m)

{

typedef struct node

{

int data;

struct node * next;

}NODE;

NODE * ptr,*start,*prev;

NODE *front[10], *rear[10];

int k=1,i,j,y,p;;

/*creating initial linked list*/

start=NULL;

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

{

ptr=(NODE *)malloc(sizeof(NODE));

ptr->data=a[i];

ptr->next=NULL;

if(start==NULL)

start=ptr;

else

prev->next=ptr;

prev=ptr;

}

/*radix sort*/

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

{

for(j=0;j< 10;++j)

front[j]=NULL;

/*placing elements into queues*/

ptr=start;

while(ptr!=NULL)

{y=ptr->data/k %10;/*y is the digit*/

if(front[y]==NULL)

{

front[y]=ptr;

rear[y]=ptr;

}

else

{

rear[y]->next=ptr;

rear[y]=ptr;

}

ptr=ptr->next;

}

start=NULL;

for(j=0;j< 10;++j)

if(front[j]!=NULL)

{

if(start==NULL)

start=front[j];

else rear[p]->next=front[j];

p=j;

}

rear[p]->next=NULL;

k=k*10;

}

/*copying back to array*/

ptr=start;

for(i=0;i< n;++i,ptr=ptr->next)

a[i]=ptr->data;

}

void main()

{

int a[100],n,i,m;

char temp;

do

{

clrscr();

printf("===========================RADIX SORT===========================================\n");

printf("ENTER NUMBER OF NUMBERS AND NUMBER OF DIGITS\n");

scanf("%d%d",&n,&m);

printf("ENTER ELEMENTS\n");

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

scanf("%d",&a[i]);

radix(a,n,m);

printf("SORTED LIST\n");

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

printf("%d ",a[i]);

printf("\nDO YOU wish to continue?[y/n]\n");

scanf("%c",&temp);

}while(temp=='y'|| temp=='Y');

printf("\n---------------------------------------------------------------------------------\n");

getch();

}

/*OUTPUT:

===========================RADIX SORT===========================================

Enter number of numbers and number of digits

4

2

enter elements

25

65

35

45

sorted list

25 35 45 65

Do you wish to continue?[y/n]

n

--------------------------------------------------------------------------------*/

## Sunday, June 1, 2008

Subscribe to:
Post Comments (Atom)

## 15 comments:

Excellent Help given by you'll

Keep it up

Thanx a lot

hi.. cud u pl put up a coding for polynomial multiplication usin linked list?

Hiee...i knw it been years after you hv posted it.. but yur example is really simple,nice n easy to understand..:D

thank yu..:D

hiee..i knw it has been years after you have posted this..

but

yur example is really simple n nice..n easy to understand..:)

thank yu very much..:)

thk u so much for the prog

ang galing mo tol sobra..

in english..

ur so great..

very nice program....thanx 4 help..:)

thank you for this program

can you use the insertion sort in radix sort....

hello

thank you for this algorithm

i want the algorithm of radix sort using

the linear algorithm insertion sort

thank you.....

i hope to send me it

in my email

ali0231_3@hotmail.fr

""""ALI"""

thank you

i want radix sort algorithm using insertion sort....

nc program

keep it up

nc program

keep it up

nyc program

nyc program

it is a good program thanks for this code

Post a Comment