Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef LIST_H_
- #define LIST_H_
- #include <cstring>
- /**
- * struktura przetrzymujaca napis oraz wskaznik na nastepny element w liscie
- */
- struct ListNode {
- char* data;
- ListNode* next;
- };
- /**
- * struktura sluzaca za liste, posiada wskaznik head wskazujacy na glowny element listy
- */
- struct List {
- ListNode* head;
- };
- /**
- * funkcja prepare
- * "przygotowuje" nasza nowa liste ustawiajac wskaznik head na NULL
- *
- * @param list - wskaznik na liste
- */
- void prepare(List* list);
- /**
- * funkcja add
- * dodaje napis do naszej listy przy pomocy stcpy()
- * sprawdza czy lista jest pusta, wtedy wstawiamy jako pierwszy element
- * jesli nie jest pusta to wstawiamy jako next
- *
- * @param list - wskaznik na liste
- * @param buffer - napis ktory chcemy dodac
- */
- void add(List* list, const char* buffer);
- /**
- * funkcja empty
- * zwraca 0 jesli lista jest pusta, zwraca 1 jesli posiada elementy
- *
- * @param list - wskaznik na liste
- * @return bool mowiacy czy lista zawiera elementy
- */
- bool empty(const List* list);
- /**
- * funkcja dump
- * wypisuje wszystkie elementy do konsoli
- * przesuwa sie za pomoca pomocniczej struktury ListNode dotad az przejdzie przez kazdy element
- *
- * @param list - wskaznik na liste
- */
- void dump(const List* list);
- /**
- * funkcja clear
- * dealokuje pamiec zaczynajac od data, nastepnie caly element ListNode i przechodzi do nastepnego elementu
- * na koniec ustawia head na NULL
- *
- * @param list - wskaznik na liste
- */
- void clear(List* list);
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement