# Program for creation of sorted list from a given list of numbers in C.

```#include <stdio.h>
#include <stdlib.h>
#define NULL 0

{
int number;
};

main ()
{
int n;
void print(node *p);
node *insert_Sort(node *p, int n);

printf("Input the list of numbers.\n");
printf("At end, type -999.\n");
scanf("%d",&n);

while(n != -999)
{
if(head == NULL)       /* create 'base' node */
{

}

else                /* insert next item */
{
}
scanf("%d", &n);
}
printf("\n");
print("\n");
}
node *insert_sort(node *list, int x)
{
node *p1, *p2, *p;
p1 = NULL;
p2 = list; /* p2 points to first node */

for( ; p2->number < x ; p2 = p2->next)
{
p1 = p2;

if(p2->next == NULL)
{
p2 = p2->next;                /* p2 set to NULL */
break;               /* insert new node at end */
}
}

/* key node found */
p = (node *)malloc(sizeof(node)); /* space for new node */
p->number = x;     /* place value in the new node */
p->next = p2;      /* link new node to key node */
if (p1 == NULL)
list = p;      /* new node becomes the first node */
else
p1->next = p;  /* new node inserted after 1st node */
return (list);
}
void print(node *list)
{
if (list == NULL)
printf("NULL");
else
{
printf("%d-->",list->number);
print(list->next);
}
return;
}```