EstruturaDeDados
Carregando...
Procurando...
Nenhuma entrada encontrada
linked_list.hpp
Ir para a documentação deste ficheiro.
1#pragma once
2#include <stddef.h>
3
15template <class T>
23 struct Node {
29 Node(const T &value);
30
34 ~Node();
35
36 T value;
37 Node *next;
38 };
39
40 public:
45
50
56 LinkedList(const LinkedList &list);
57
65
71 size_t size() const;
72
78 bool empty() const;
79
85 void push_front(const T &value);
86
94 void insert(size_t index, const T &value);
95
101 void pop_front();
102
109 void remove(size_t index);
110
114 void clear();
115
123 T &find(const T &item);
124
132 const T &find(const T &item) const;
133
140 bool contains(const T &item) const;
141
149 T &operator[](size_t index);
150
158 const T &operator[](size_t index) const;
159
164 void print() const;
165
166 private:
167 Node *head;
168 size_t _size;
169};
170
171#include "../src/linked_list.hpp"
Representa uma lista encadeada de elementos do tipo genérico T.
Definição linked_list.hpp:16
T & find(const T &item)
Encontra um elemento na lista.
LinkedList()
Construtor da lista. Cria uma lista vazia.
size_t size() const
Retorna o número de elementos armazenados na lista.
void clear()
Limpa todos os elementos da lista.
T & operator[](size_t index)
Acesso ao elemento na posição especificada.
const T & find(const T &item) const
Encontra um elemento na lista (const).
void print() const
Imprime os elementos da lista no formato "valor1 -> valor2 -> ...-> NULL".
void push_front(const T &value)
Adiciona um elemento no início da lista.
~LinkedList()
Destruidor da lista. Libera a memória dos nós.
bool contains(const T &item) const
Verifica se um elemento está contido na lista.
LinkedList & operator=(const LinkedList &list)
Operador de atribuição. Atribui os elementos de uma lista a outra.
void insert(size_t index, const T &value)
Insere um elemento na posição especificada.
bool empty() const
Verifica se a lista está vazia.
const T & operator[](size_t index) const
Acesso ao elemento na posição especificada (const).
void pop_front()
Remove o primeiro elemento da lista.
LinkedList(const LinkedList &list)
Construtor de cópia. Cria uma nova lista como uma cópia de outra.
void remove(size_t index)
Remove o elemento na posição especificada.