struct linked_list
Referida, por meio de
typedef
, como llist
(abreviação para linked list), armazena a estrutura básica do elemento de uma lista, isto é, a informação principal que guarda (conteúdo) e um ponteiro para o próximo elemento.
lcreate
(int add)
Retorna um ponteiro para o primeiro elemento de uma nova lista encadeada. O primeiro elemento terá seu valor igual àquele passado como argumento. Novas listas podem ser criadas com laddToStart
(llist** aList, int add)
Adiciona um novo elemento ao início da lista encadeada. Seu primeiro parâmetro é o endereço do ponteiro usado para se referir à estrutura, enquanto o segundo é o inteiro que deve ser armazenado como elemento da lista.
linsert
(llist** aList, int index, int add)
Insere um elemento de valor add na lista na posição indicada.
lerase
(llist** aList, int index)
Apaga um elemento da lista (e da memória) numa posição index. O endereço dessa lista deve ser passado como argumento.
lchange
(llist** aList, int index, int change)
Altera o valor do elemento na posição index para change.
lget
(llist* aList, int index)
Por meio de uma busca linear, retorna o inteiro guardado na posição de índice index (segundo parâmetro) na lista. O primeiro parâmetro é o ponteiro referente ao início da lista.
lgetPointer
(llist* aList, int index)
Retorna um ponteiro para o elemento na posição de índice index numa lista. Pode ser interessante para lidar com algum elemento a qualquer momento, mesmo após mudança de posição dentro da lista ou de valor. Isso porque o ponteiro retornado apontará para ele independentemente, com exceção nos casos em que o elemento foi apagado. Também pode ser usado como ponto de partida para a leitura de elementos posteriores na lista. Retorna NULL caso o elemento não exista.
lprint
(llist* aList)
Dado o ponteiro que aponta para o início da lista, imprime seu conteúdo no formato {a1, a2, a3, ..., an}, com cada elemento ai numa lista de tamanho n.
lfind
(llist* aList, int value)
Retorna o índice (a posição) do primeiro elemento de valor value na lista. Caso ele não exista, retorna -1.
lfindPointer
(llist* aList, int value)
Retorna um ponteiro para o primeiro elemento de valor value na lista. Caso ele não exista, retorna um ponteiro NULL. Pode ser interessante para possibilitar a modificação do valor do elemento de forma direta, ou então para ler/modificar elementos posteriores a ele, sem a necessidade do uso de outras funções. Sua funcionalidade se assemelha à de
llist* nome = lcreate(valor);
lgetPointer
.