Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. #ifndef LIST_H_
  2. #define LIST_H_
  3. #include <cstring>
  4.  
  5.  
  6.  
  7. /**
  8.  *  struktura przetrzymujaca napis oraz wskaznik na nastepny element w liscie
  9.  */
  10. struct ListNode {
  11.     char* data;
  12.     ListNode* next;
  13. };
  14.  
  15.  
  16.  
  17.  
  18. /**
  19.  *  struktura sluzaca za liste, posiada wskaznik head wskazujacy na glowny element listy
  20.  */
  21. struct List {
  22.     ListNode* head;
  23. };
  24.  
  25.  
  26.  
  27.  
  28. /**
  29.  *  funkcja prepare
  30.  *  "przygotowuje" nasza nowa liste ustawiajac wskaznik head na NULL
  31.  * 
  32.  *  @param list - wskaznik na liste
  33.  */
  34. void prepare(List* list);
  35.  
  36.  
  37.  
  38.  
  39. /**
  40.  *  funkcja add
  41.  *  dodaje napis do naszej listy przy pomocy stcpy()
  42.  *  sprawdza czy lista jest pusta, wtedy wstawiamy jako pierwszy element
  43.  *  jesli nie jest pusta to wstawiamy jako next
  44.  * 
  45.  *  @param list - wskaznik na liste
  46.  *  @param buffer - napis ktory chcemy dodac
  47.  */
  48. void add(List* list, const char* buffer);
  49.  
  50.  
  51.  
  52.  
  53. /**
  54.  *  funkcja empty
  55.  *  zwraca 0 jesli lista jest pusta, zwraca 1 jesli posiada elementy
  56.  * 
  57.  *  @param list - wskaznik na liste
  58.  *  @return bool mowiacy czy lista zawiera elementy
  59.  */
  60. bool empty(const List* list);
  61.  
  62.  
  63.  
  64.  
  65. /**
  66.  *  funkcja dump
  67.  *  wypisuje wszystkie elementy do konsoli
  68.  *  przesuwa sie za pomoca pomocniczej struktury ListNode dotad az przejdzie przez kazdy element
  69.  * 
  70.  *  @param list - wskaznik na liste
  71.  */
  72. void dump(const List* list);
  73.  
  74.  
  75.  
  76.  
  77. /**
  78.  *  funkcja clear
  79.  *  dealokuje pamiec zaczynajac od data, nastepnie caly element ListNode i przechodzi do nastepnego elementu
  80.  *  na koniec ustawia head na NULL
  81.  * 
  82.  *  @param list - wskaznik na liste
  83.  */
  84. void clear(List* list);
  85.  
  86.  
  87. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement