Professional Documents
Culture Documents
Em programao, lista uma srie de elementos ligados. O primeiro ligado no segundo, que
ligado no terceiro etc. Os elementos anteriores geralmente apontam para um elemento (o
prximo). Iremos aprender como colocar elementos, tirar, mudar de posio. Como elas esto
ligadas, basta que tenhamos o endereo (ponteiro) para o primeiro elemento da lista.
Exemplos de Lista: Pilhas, Filas...
Filas em C
Outro importante conceito de estrutura de dados dinmica so as filas, que so
exatamente iguais as do mundo real.
Ou seja, os primeiros elementos a chegar sero os primeiros a serem atendidos.
Um termo muito conhecido para designar tal tipo de ideia FIFO - First In, First Out
!rimeiro que entra, primeiro que sai".
#m termos de programa$o, di%emos que os elementos que chegam &o para a cauda da
fila, ou seja, para o final, sero atendidos por 'ltimo. Os elementos que sero primeiro
atendidos so os que esto na ca(e$a da fila na frente".
Filas
Basicamente o que diferencia a fila da pilha a ordem de sada dos elementos.
Enquanto na pilha o elemento retirado sempre o ltimo a entrar (o do topo da pilha),
na fila sempre retirado o primeiro elemento a entrar na estrutura. Podemos fazer
uma analogia com uma fila de anco por e!emplo, onde a primeira pessoa a ser
atendida a que chega primeiro. " medida que outras pessoas chegam na fila,
de#er$o permanecer na fila aguardando que se%am atendidas, seguindo este critrio.
Pilhas em C (Stac)
& funcionamento de uma pilha consiste numa estratgia chamada LIFO (last in, first
out ' ltimo a entrar, primeiro a sair). (lm disso, o nico elemento que se pode
acessar na pilha o elemento do topo da mesma, ou se%a, o ltimo a ser empilhado.
Pense numa pilha de pratos. )uando se #ai la#*+los, #oc, n$o come-a retirando o que
est* mais aai!o, e sim o que est* no topo da pilha. . asicamente assim que esse
tipo de estrutura funciona.
Listas !uplamente Encadeadas
Existem listas duplamente encadeadas, que cada elemento est ligado com o anterior e o
prximo, mas todas elas so lineares, ormam uma sequ!ncia "nica.
/ma lista duplamente encadeada possui 0 ponteiros em cada n1, um para o pr1!imo
elemento e outro para o anterior (ant e pro! respecti#amente). 2sso possiilita
3andarmos4 para 3frente4 e para 3tr*s4 ao longo da lista. E isso nos permite acessar
qualquer elemento da lista e remo#,+lo.
Existem # tipos de remoo$ Inicio, %eio e &inal da lista.
"emo#o no $n%cio
"emo#o no &eio
"emo#o Final