Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #pragma once
  2.  
  3. /** interfejs dla węzła listy */
  4. template<class T> class inode {
  5. public:
  6.     virtual ~inode() {}
  7.  
  8.     virtual T get_val() =0;
  9.     virtual void set_val(T) =0;
  10.     virtual inode<T>* get_prev() =0;
  11.     virtual inode<T>* get_next() =0;
  12.     virtual bool has_next() =0;
  13.     virtual bool has_prev() =0;
  14.     virtual void set_prev(inode<T>*) =0;
  15.     virtual void set_next(inode<T>*) =0;
  16. };
  17.  
  18. /** interfejs dla listy jednokierunkowej */
  19. template <class T> class ilist {
  20. public:
  21.     virtual ~ilist() {}
  22.  
  23.     /** 1. przegląd całej listy */
  24.     virtual bool next()=0;
  25.     virtual void reset()=0;
  26.     virtual void print()=0;
  27.  
  28.     /** 2. dodanie elementu na początek listy */
  29.     virtual void push_front(T)=0;
  30.  
  31.     /** 3. dodanie elementu na koniec listy */
  32.     virtual void push_back(T)=0;
  33.  
  34.     /** 4. dodanie elementu na wskazaną pozycję listy */
  35.     virtual void insert(T dataToInsert, int indexForInsertion=-1)=0;
  36.  
  37.     /** 5. usunięcie elementu z początku listy */
  38.     virtual void remove_front()=0;
  39.  
  40.     /** 6. usunięcie elementu z końca listy */
  41.     virtual void remove_back()=0;
  42. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement