Doubly Linked List v0.0.3
Loading...
Searching...
No Matches
doubly_linked_list.hpp
1#ifndef DOUBLY_LINKED_LIST_HPP
2#define DOUBLY_LINKED_LIST_HPP
3
4#include <iostream>
5
12 struct Node {
13 int value;
14 Node* previous;
15 Node* next;
16
19 explicit Node(int nodeValue = 0);
20
24 Node(int nodeValue, Node* nodePointer);
25
30 friend std::ostream& operator<<(std::ostream& stream, const DoublyLinkedList::Node* node);
31 };
32
33private:
34 Node* head;
35 Node* tail;
36 int nodeCount;
37
38public:
42
46
49 void insertItemAtFront(int value);
50
53 void insertItemAtEnd(int value);
54
58 void insertItemAtIndex(int index, int value);
59
62
65
68 void removeItemFromIndex(int index);
69
72
74 void displayAllItems() const;
75
78
81 void displayNextItemFromIndex(int index) const;
82
85 void displayPreviousItemFromIndex(int index) const;
86
90 const int& operator[](int index) const;
91
96 friend std::ostream& operator<<(std::ostream& stream, const DoublyLinkedList& list);
97
102 friend std::ostream& operator<<(std::ostream& stream, const DoublyLinkedList::Node* node);
103};
104
105#endif /* DOUBLY_LINKED_LIST_HPP */
Klasa reprezentująca listę dwukierunkową. Klasa umożliwia dodawanie, usuwanie oraz przeglądanie eleme...
Definition doubly_linked_list.cpp:1
void removeAllItems()
Usuwa wszystkie elementy z listy.
void insertItemAtEnd(int value)
Dodaje nowy element na końcu listy.
void displayPreviousItemFromIndex(int index) const
Wyświetla elementy listy, zaczynając od podanego indeksu, w kolejności do tyłu.
void displayAllItemsReversed() const
Wyświetla zawartość listy w odwrotnej kolejności (od ostatniego do pierwszego elementu).
DoublyLinkedList()
Domyślny konstruktor listy dwukierunkowej. Inicjalizuje pustą listę.
Definition doubly_linked_list.cpp:12
void removeItemFromIndex(int index)
Usuwa element na podanym indeksie.
const int & operator[](int index) const
Przeciążenie operatora [] do dostępu do wartości na podanym indeksie.
Definition doubly_linked_list.cpp:219
friend std::ostream & operator<<(std::ostream &stream, const DoublyLinkedList &list)
Przeciążenie operatora << do wyświetlania zawartości listy.
Definition doubly_linked_list.cpp:238
void displayNextItemFromIndex(int index) const
Wyświetla elementy listy, zaczynając od podanego indeksu, w kolejności do przodu.
void removeLastItem()
Usuwa ostatni element z listy.
void insertItemAtIndex(int index, int value)
Wstawia nowy element na podaną pozycję.
~DoublyLinkedList()
Destruktor listy dwukierunkowej. Usuwa wszystkie węzły i zwalnia pamięć.
Definition doubly_linked_list.cpp:14
void removeFirstItem()
Usuwa pierwszy element z listy.
void displayAllItems() const
Wyświetla zawartość listy w kolejności od pierwszego do ostatniego elementu.
void insertItemAtFront(int value)
Dodaje nowy element na początku listy.
Definition node.cpp:1