Sort the List Elements - Link List in C
13-09-2019    198 times

Sorting the elements of the linear linklist can in two types

1. Ascending Order
2. Descending Order

Now we create the basic environment of the linklist.

#include<stdio.h>
#include<conio.h>
{
int i;
};

//prototype declaration
void *sort_data1(node *);
void *sort_data2(node *);

int main()
{
int c,i,pos;
while(1)
{
printf(" 1. Ascending Order\n");
printf(" 2. Descending Order\n");
printf("25. Exit\n");
scanf("%d",&c);
switch(c)
{

case 1:
break;
case 2:
break;

case 25:
exit(0);
}
}
}


### Ascending Order

void *sort_data1(node *l)
{
node *temp1,*temp2;
int x;
temp1=l;
while(temp1->next!=NULL)
{
for(temp2=temp1->next;temp2!=NULL;temp2=temp2->next)
{
if(temp1->i>temp2->i)
{
x=temp1->i;
temp1->i=temp2->i;
temp2->i=x;
}
}
temp1=temp1->next;
}
}


### Descending Order

void *sort_data2(node *l)
{
node *temp1,*temp2;
int x;
temp1=l;
while(temp1->next!=NULL)
{
for(temp2=temp1->next;temp2!=NULL;temp2=temp2->next)
{
if(temp1->i<temp2->i)
{
x=temp1->i;
temp1->i=temp2->i;
temp2->i=x;
}
}
temp1=temp1->next;
}
}