Skip to content

Uma implementação de lista encadeada na linguagem C.

Notifications You must be signed in to change notification settings

guirque/Lista-Encadeada-Em-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Lista Encadeada Em C

Uma implementação de lista encadeada na linguagem C.

Structs

  • 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.

Funções

  • 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 llist* nome = lcreate(valor);
  • 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 lgetPointer.

About

Uma implementação de lista encadeada na linguagem C.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages