Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <assert.h>
  4.  
  5.  
  6. typedef struct Element
  7. {
  8.     int Data;
  9.     struct Element *next;
  10.  
  11. }Element;
  12.  
  13. struct Handler
  14. {
  15.     Element * beg,* end;
  16. };
  17.  
  18. void push_back(struct Handler * , int );
  19. void push_front(struct Handler *, int );
  20. void insert(struct Handler *, int , int );
  21. int main(void)
  22. {
  23.     struct Handler handler;
  24.     Element *Show_DATA;
  25.  
  26.     handler.beg=NULL;
  27.     handler.end=NULL;
  28.  
  29.     push_front(&handler,10);
  30.     push_front(&handler,9);
  31.     push_back(&handler,11);
  32.     push_front(&handler,8);
  33.     push_front(&handler,7);
  34.     push_front(&handler,6);
  35.     push_back(&handler,12);
  36.     insert(&handler,8,88);
  37.     insert(&handler,88,888);
  38.     Show_DATA=handler.beg;
  39.  
  40.     while(Show_DATA!=NULL)
  41.     {
  42.         printf("%d\n",Show_DATA->Data);
  43.         Show_DATA=Show_DATA->next;
  44.     }
  45.  
  46.  
  47.     return 0;
  48. }
  49.  
  50. void insert(struct Handler *h, int find_value, int value)
  51. {
  52.     Element *node;
  53.     node=h->beg;
  54.  
  55.     while(node!=NULL)
  56.     {
  57.         if(node->Data==find_value)
  58.             break;
  59.         else
  60.         {
  61.             node=node->next;
  62.             continue;
  63.         }
  64.     }
  65.  
  66.     if(node==NULL)
  67.         printf("Nie znaleziono zadanej wartosci.\n");
  68.     else
  69.     {
  70.         Element *Additional_node=(Element *)malloc(sizeof(Element));
  71.         assert(Additional_node!=NULL);
  72.  
  73.         Additional_node->Data=value;
  74.         Additional_node->next=node->next;
  75.         node->next=Additional_node;
  76.     }
  77. }
  78.  
  79. void push_front(struct Handler *h, int value)
  80. {
  81.     Element *node=(Element *)malloc(sizeof(Element));
  82.     assert(node!=NULL);
  83.  
  84.     node->Data=value;
  85.  
  86.     if(h->beg==NULL)
  87.     {
  88.         h->beg=node;
  89.         h->end=node;
  90.         node->next=NULL;
  91.     }
  92.     else
  93.     {
  94.         node->next=h->beg;
  95.         h->beg=node;
  96.     }
  97. }
  98.  
  99. void push_back(struct Handler *h, int value)
  100. {
  101.     Element *node=(Element *)malloc(sizeof(Element));
  102.     assert(node!=NULL);
  103.  
  104.     node->Data=value;
  105.     node->next=NULL;
  106.  
  107.     if(h->beg==NULL)
  108.     {
  109.         h->beg=node;
  110.         h->end=node;
  111.     }
  112.     else
  113.     {
  114.         h->end->next=node;
  115.         h->end=node;
  116.     }
  117.  
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement