Advertisement
Guest User

Untitled

a guest
May 25th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. int getLength(){
  2.     int length = 0;
  3.     ListNode* current = head;
  4.    
  5.     while (current) {
  6.         length++;
  7.         current = current->next;
  8.     }
  9.     return length;
  10. }
  11.  
  12. int getPosition(int data){
  13.     int position = 0;
  14.     ListNode* current = head;
  15.    
  16.     while (current) {
  17.         if(current->data < data){
  18.             position++;
  19.         }
  20.         current = current->next;
  21.     }
  22.     return position;
  23. }
  24.  
  25. void insert(int data){
  26.    
  27.     ListNode* tmp = (ListNode*) malloc(sizeof(100));
  28.     ListNode* current = head;
  29.    
  30.     int position = getPosition(data),counter = 0, length = getLength();
  31.    
  32.     //Loop trough the List to check where we need to add it
  33.     if(current != NULL){
  34.         while (current) {
  35.             if(position == counter){
  36.                 tmp->data = data;
  37.                 tmp->next = current;
  38.                 break;
  39.             }
  40.             current     = current->next;
  41.             counter++;
  42.         }
  43.         current->next = tmp;
  44.     }else{
  45.         //First element setting
  46.         tmp->data = data;
  47.         tmp->next = head;
  48.         head = tmp;
  49.     }
  50.     free(tmp);
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement