Advertisement
Guest User

aviv14_3

a guest
Feb 21st, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct node
  5. {
  6.     int num;
  7.     struct node *next;
  8. }node;
  9.  
  10.  
  11.  
  12.  
  13. node *makenode(int key)
  14. {
  15.     node *newnode = (node*)malloc(sizeof(node));
  16.     if (!newnode)
  17.         return NULL;
  18.     newnode->num = key;
  19.     newnode->next = NULL;
  20.     return newnode;
  21. }
  22. node * add_last(node *head, node* newItem)
  23. {
  24.     node *currItem;
  25.     if (!head)
  26.         return newItem;
  27.     currItem = head;
  28.     while (currItem->next)
  29.         currItem = currItem->next;
  30.     currItem->next = newItem;
  31.     return head;
  32. }
  33. node *func(node *head)
  34. {
  35.     node *current = head;
  36.     int max;
  37.     max = current->num;
  38.     node *prev;
  39.     while (current->next)
  40.     {
  41.         if (max < current->next->num)
  42.         {
  43.             max = current->next->num;
  44.             prev = current;
  45.         }  
  46.         current = current->next;
  47.     }
  48.     prev->next = prev->next->next;
  49.     free(current);
  50.     return head;
  51. }
  52.  
  53.  
  54. void main() {
  55.     int res;
  56.     node * head;
  57.     head = makenode(6);
  58.     head = add_last(head, makenode(3));
  59.     head = add_last(head, makenode(5));
  60.     head = add_last(head, makenode(7));
  61.     head = add_last(head, makenode(1));
  62.     node *temp= func(head);;
  63.     while (temp)
  64.     {
  65.         printf("%d", temp->num);
  66.         temp = temp->next;
  67.     }
  68.        
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement