Advertisement
canezzy

jebeniC

Dec 14th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct {
  5.     char podatak;
  6.     struct element* sl;
  7. }element;
  8.  
  9. element* unos_elem(element** glava, char c){
  10.     element* novi = (element*)malloc(sizeof(element));
  11.     novi->podatak = c;
  12.     novi->sl = NULL;
  13.  
  14.     if (*glava == NULL){
  15.         *glava = novi;
  16.         return;
  17.     }
  18.  
  19.     element* tekuci = *glava;
  20.     element* prethodni = *glava;
  21.     while(tekuci != NULL){
  22.         prethodni = tekuci;
  23.         tekuci = tekuci->sl;
  24.     }
  25.     prethodni -> sl = novi;
  26. }
  27.  
  28.  
  29. void prikaz_elem(element* glava){
  30.     if (glava == NULL){
  31.         printf("Lista je prazna! \n");
  32.         return;
  33.     }
  34.     element* tekuci = glava;
  35.     while(tekuci != NULL){
  36.         printf("%c ",tekuci->podatak);
  37.         tekuci = tekuci->sl;
  38.     }
  39.     printf("\n");
  40. }
  41.  
  42. void bris(element** glava, char c){
  43.     if (*glava == NULL){
  44.         return;
  45.     }
  46.  
  47.     if ((*glava)->podatak == c){
  48.         *glava = (*glava)->sl;
  49.         return;
  50.     }
  51.     element* prethodni = *glava;
  52.     element* tekuci = *glava;
  53.     while(tekuci != NULL){
  54.         if (tekuci->podatak == c){
  55.             prethodni->sl = tekuci->sl;
  56.             free(tekuci);
  57.             return;
  58.         }
  59.         prethodni = tekuci;
  60.         tekuci = tekuci->sl;
  61.     }
  62.     printf("\n");
  63. }
  64.  
  65.  
  66. void destrukcijaListeUParKoraka(element* glava){
  67.     element* tek = glava;
  68.     while (glava!=NULL){
  69.         tek = glava;
  70.         glava = tek->sl;
  71.         free(tek);
  72.     }
  73.  
  74. }
  75.  
  76. int main()
  77. {
  78.     static element* glava = NULL;
  79.     prikaz_elem(glava);
  80.     unos_elem(&glava, 'o');
  81.     unos_elem(&glava, 'r');
  82.     unos_elem(&glava, 'g');
  83.     prikaz_elem(glava);
  84.     unos_elem(&glava, 'p');
  85.     unos_elem(&glava, 'd');
  86.     prikaz_elem(glava);
  87.     bris(&glava, 'o');
  88.     bris(&glava, 'p');
  89.     prikaz_elem(glava);
  90.     bris(&glava, 'd');
  91.     prikaz_elem(glava);
  92.     destrukcijaListeUParKoraka(glava);
  93.     prikaz_elem(glava);
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement