Sorting in Linked List
/* SORTING A Linked LIST IN ASCENDING ORDER */
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
struct node
{
int data;
struct node *next;
};
void main()
{
int i;
int num ;
struct node *first, *nw, *pre, *new1, *count;
clrscr();
printf("\n Enter the number of node you want to create: ");
scanf("%d", &num );
first->next = NULL;
nw = first;
for (i = 0; i < num ; i++)
{
nw->next = (struct node* ) malloc(sizeof(struct node));
nw = nw->next;
printf("\n Enter the node: %d: ", i+1);
scanf("%d", &nw->data);
nw->next = NULL;
}
new1 = first;
for( ; new1->next != NULL; new1 = new1->next)
{
for(count = new1->next; count != NULL; count = count->next)
{
if(new1->data > count->data)
{
int temp = new1->data;
new1->data = count->data;
count->data = temp;
}
}
}
nw = first->next;
printf("\n After sorting the Linked list is as follows:\n");
while (nw)
{
printf("%d\t", nw->data);
nw = nw->next;
}
getch();
}
Output
