Advertisement
LilChicha174

Untitled

Mar 23rd, 2022
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. #define N -1000000000
  6.  
  7. struct Node {
  8.     int n;
  9.     struct Node *next;
  10. };
  11.  
  12. struct Node *createNode(int n) {
  13.     struct Node *elem = (struct Node *) malloc(sizeof(struct Node));
  14.     elem->n = n;
  15.     elem->next = NULL;
  16.     return elem;
  17. };
  18.  
  19. int remove1(int n, struct Node *head) {
  20.     struct Node *prev = head;
  21.     prev = head;
  22.     if (head->n == n) {
  23.         head = head->next;
  24.         prev->next = NULL;
  25.         return 1;
  26.     }
  27.     head = head->next;
  28.     while (head != NULL) {
  29.  
  30.         if(head->n == n){
  31.             prev->next = prev->next->next;
  32.             return 1;
  33.         }
  34.         prev = head;
  35.         head = head->next;
  36.     }
  37.     return -1;
  38. }
  39.  
  40. int main() {
  41.     char end = ' ';
  42.     int n;
  43.     struct Node *head;
  44.     struct Node *elem;
  45.     struct Node *prev;
  46.     int c;
  47.     for (int i = 0; i < 11; i++) {
  48.         scanf("%d%c", &n, &end);
  49.         elem = createNode(n);
  50.         if (i == 0) {
  51.             c = n;
  52.             continue;
  53.         }
  54.         if (i == 1) {
  55.             head = elem;
  56.             prev = head;
  57.             continue;
  58.         }
  59.         prev->next = elem;
  60.         prev = elem;
  61.         if (end == '\n')
  62.             break;
  63.     }
  64.     printf("%d", remove1(c, head));
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement