Pages

Wednesday

Insertion Sort C code | C Program Examples

 #include <stdio.h>
#include <conio.h>

struct node{
  int number;
  struct node *next;
};

struct node *head = NULL;

/* insert a node directly at the right place in the linked list */
void insert_node(int value);

int main(void){
  struct node *current = NULL;
  struct node *next = NULL;
  int test[] = {8, 3, 2, 6, 1, 5, 4, 7, 9, 0};
  int i = 0;

/* insert some numbers into the linked list */
  for(i = 0; i < i =" 0;">next != NULL){
    printf("%4d\t%4d\n", test[i++], head->number);
    head = head->next;
  }

/* free the list */
  for(current = head; current != NULL; current = next)
    next = current->next, free(current);

  return 0;
}

void insert_node(int value) {
  struct node *temp = NULL;
  struct node *one = NULL;
  struct node *two = NULL;

  if(head == NULL) { 
    head = (struct node *)malloc(sizeof(struct node *));
    head->next = NULL;
  }

  one = head;
  two = head->next;

  temp = (struct node *)malloc(sizeof(struct node *));
  temp->number = value;

  while(two != NULL && temp->number <>number) {
    one = one->next;
    wo = two->next;
  }

  one->next = temp;
  temp->next = two;
}


No comments:

Post a Comment