Esta biblioteca disponibiliza um conjunto de funções que permitem manipular uma lista (duplamente) ligada.
Definido no ficheiro list.h.
Ir para o código fonte deste ficheiro.
Estruturas de Dados | |
| struct | SListNode |
| Estrutura do nodo da lista. Mais... | |
| struct | SList |
| Estrutura da lista. Mais... | |
Definições de Tipos | |
| typedef SListNode * | ListNode |
| Definição do apontador para os nodos da lista. | |
| typedef SList * | List |
| Definição da lista. | |
Funções | |
| List | newList () |
| Cria uma lista. | |
| void | listDelete (List list) |
| Elimina uma lista. | |
| int | listInsertFst (List list, void *inf) |
| Insere um elemento no início de uma lista. | |
| int | listInsertLst (List list, void *inf) |
| Insere um elemento no fim de uma lista. | |
| int | listInsertAt (List list, int index, void *inf) |
| Insere um elemento numa determinada posição de uma lista. | |
| int | listRemoveFst (List list, void **inf) |
| Remove o primeiro elemento de uma lista. | |
| int | listRemoveLst (List list, void **inf) |
| Remove o último elemento de uma lista. | |
| int | listRemoveAt (List list, int index, void **inf) |
| Remove o elemento de uma determinada posição de uma lista. | |
| int | listFst (List list, void **inf) |
| Verifica qual o primeiro elemento de uma lista. | |
| int | listLst (List list, void **inf) |
| Verifica qual o último elemento de uma lista. | |
| int | listAt (List list, int index, void **inf) |
| Verifica qual o elemento numa determinada posição de uma lista. | |
| int | listSize (List list) |
| Determina o tamanho de uma lista. | |
| int | listMap (List list, void(*fun)(void *)) |
| Aplica uma função aos elementos de uma lista. | |
| Iterator | listIterator (List list) |
| Cria um iterador a partir de uma lista. | |
| int listAt | ( | List | list, | |
| int | index, | |||
| void ** | inf | |||
| ) |
Verifica qual o elemento numa determinada posição de uma lista.
A posição, especificada pelo argumento index, tem que estar entre 0 e o tamanho da lista menos 1. Se isto não acontecer é colocado o valor NULL em inf.
| list | lista. | |
| index | posição do elemento que procuramos. | |
| inf | endereço onde será colocado o resultado. |
| void listDelete | ( | List | list | ) |
| int listFst | ( | List | list, | |
| void ** | inf | |||
| ) |
Verifica qual o primeiro elemento de uma lista.
Se a lista estiver vazia é colocado o valor NULL em inf.
| list | lista. | |
| inf | endereço onde é colocado o resultado. |
| int listInsertAt | ( | List | list, | |
| int | index, | |||
| void * | inf | |||
| ) |
Insere um elemento numa determinada posição de uma lista.
A posição, especificada pelo argumento index, tem que estar entre 0 e o tamanho da lista. O (n+1)-ésimo elemento e todos os seguintes avançam uma posição.
| list | lista. | |
| index | posição em que será inserido. | |
| inf | endereço do elemento que queremos inserir. |
| int listInsertFst | ( | List | list, | |
| void * | inf | |||
| ) |
Insere um elemento no início de uma lista.
Verifica se é possível inserir o elemento, devolvendo 1 caso não seja possível.
| list | lista. | |
| inf | endereço do elementos que queremos inserir. |
| int listInsertLst | ( | List | list, | |
| void * | inf | |||
| ) |
Insere um elemento no fim de uma lista.
Verifica se é possível inserir o elemento, devolvendo 1 caso não seja possível.
| list | lista. | |
| inf | endereço do elemento que queremos inserir. |
| int listLst | ( | List | list, | |
| void ** | inf | |||
| ) |
Verifica qual o último elemento de uma lista.
Se a lista estiver vazia é colocado o valor NULL em inf.
| list | lista. | |
| inf | endereço onde é colocado o resultado. |
| int listMap | ( | List | list, | |
| void(*)(void *) | fun | |||
| ) |
| int listRemoveAt | ( | List | list, | |
| int | index, | |||
| void ** | inf | |||
| ) |
Remove o elemento de uma determinada posição de uma lista.
Permite devolver a informação do elemento removido, caso o valor de inf seja diferente de NULL. Se a lista estiver vazia é colocado o valor NULL em inf.
A posição, especificada pelo argumento n, tem que estar entre 0 e o tamanho da lista menos 1. O n-ésimo elemento e todos os seguintes recuam uma posição.
| list | lista. | |
| index | posição do elemento que queremos remover. | |
| inf | endereço onde é colocado o elemento removido (ou NULL). |
| int listRemoveFst | ( | List | list, | |
| void ** | inf | |||
| ) |
Remove o primeiro elemento de uma lista.
Permite devolver a informação do elemento removido, caso o valor de inf seja diferente de NULL. Se a lista estiver vazia é colocado o valor NULL em inf.
| list | lista. | |
| inf | endereço onde é colocado o elemento removido (ou NULL). |
| int listRemoveLst | ( | List | list, | |
| void ** | inf | |||
| ) |
Remove o último elemento de uma lista.
Permite devolver a informação do elemento removido, caso o valor de inf seja diferente de NULL. Se a lista estiver vazia é colocado o valor NULL em inf.
| list | lista. | |
| inf | endereço onde é colocado o elemento removido (ou NULL). |
| int listSize | ( | List | list | ) |
| List newList | ( | ) |