Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem e Técnicas
de Programação
Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 Nó 7 ...
Chave: STRUCT
Nome:
Endereço:
ASCESSAMOS ATRAVES DE PONTEIROS
Operações fundamentais:
Inclusão
Busca
Remoção
Listas ligadas
ESPAÇO DE UM PONTEIRO
Fonte: livro-texto
Exemplo de um nó
Listas ligadas
Fonte: livro-texto
Exemplo de um nó
Listas ligadas
Fonte: livro-texto
Listas ligadas
Fonte: livro-texto
Interatividade
a) Uma lista ligada é uma representação de uma sequência de objetos, todos do mesmo tipo.
b) Cada elemento da sequência é armazenado em uma célula (nó) da lista.
c) Uma lista ligada é uma sequência de células (nós), em que cada nó contém um objeto
(todos do mesmo tipo) e o endereço do próximo nó.
d) Cada nó é um registro que pode ser definido por meio de uma struct em linguagem C.
e) Estrutura heterogênea que permite a alocação de diferentes tipos de dados na
mesma estrutura.
Resposta
a) Uma lista ligada é uma representação de uma sequência de objetos, todos do mesmo tipo.
b) Cada elemento da sequência é armazenado em uma célula (nó) da lista.
c) Uma lista ligada é uma sequência de células (nós), em que cada nó contém um objeto
(todos do mesmo tipo) e o endereço do próximo nó.
d) Cada nó é um registro que pode ser definido por meio de uma struct em linguagem C.
e) Estrutura heterogênea que permite a alocação de diferentes tipos de dados na
mesma estrutura.
Listas ligadas – função de inicialização
Toda lista deve ser inicializada – lista vazia, sem nenhum nó.
Fonte: livro-texto
Função de inicialização
Fonte: livro-texto
Função de inserção
Fonte: livro-texto
A linguagem C define um
operador adicional ()
para acessar elementos
internos de estruturas por
meio de ponteiros
Fonte: livro-texto
Função de remoção
A remoção deve ser feita sem que a lista perca a sua integridade.
Deve continuar ser uma sequência em que cada elemento aponte para o nó seguinte.
A função recebe a lista e o valor do elemento que será removido da lista, retornando o valor
atualizado dessa lista.
Deve retornar o endereço atualizado, pois o nó a ser removido pode ser o primeiro
da sequência.
Remoção no início da lista
Fonte: livro-texto
Remoção no meio da lista
Fonte: livro-texto
Função retira
A função retira é bem mais complexa que a inserção, pois deve, inicialmente, ter uma rotina
para encontrar o nó a ser removido.
Função retira
Fonte: livro-texto
Função busca, impressão e liberação de memória
Fonte: livro-texto
Função busca, impressão e liberação de memória
Fonte: livro-texto
Função busca, impressão e liberação de memória
Fonte: livro-texto
Interatividade
Trata-se de um conceito fundamental, em que uma estrutura desse tipo faz com que um nó
tenha uma parte com os dados e outra com um ponteiro apontando para o próximo nó. Os
novos nós são incluídos sequencialmente na ponta e a remoção é feita substituindo o nó e
mudando o endereço do nó anterior pelo endereço do próximo nó do elemento removido. Esse
conceito está associado a:
Trata-se de um conceito fundamental, em que uma estrutura desse tipo faz com que um nó
tenha uma parte com os dados e outra com um ponteiro apontando para o próximo nó. Os
novos nós são incluídos sequencialmente na ponta e a remoção é feita substituindo o nó e
mudando o endereço do nó anterior pelo endereço do próximo nó do elemento removido. Esse
conceito está associado a:
Operações básicas:
Empilhar (push) um novo elemento (inserção no topo).
Desempilhar (pop) um elemento (removendo-o do topo).
Pilhas
Vamos imaginar uma pilha composta pelos elementos que foram empilhados na
ordem A, B, C e D.
Aplicando a operação
push(E), a pilha fica:
Fonte: livro-texto
Operações de pilha
RETIRAR O "G"
Fonte: livro-texto
Pilhas
Fonte: livro-texto
Criação da pilha com lista
Fonte: livro-texto
Inserção de elementos na pilha
Fonte: livro-texto
Inserção de elementos na pilha
Fonte: livro-texto
Remoção da pilha
Fonte: livro-texto
Remoção da pilha
Uma vez verificado que a pilha não está vazia, a variável num recebe o conteúdo do topo.
A dupla referência ptopoinfo obtém a informação que se encontra no lugar para onde o
nó do topo está apontando.
Fonte: livro-texto
Remoção da pilha
Simulação
Fonte: livro-texto
Função de impressão e liberação de memória
Fonte: livro-texto
Interatividade
Para criar uma pilha, a função malloc tem o propósito de reservar um espaço na memória.
Assinale a alternativa que melhor representa a implementação da função malloc no processo
de criação de uma pilha.
Fonte: livro-texto
Interatividade
Operações básicas:
Inserir (entrada) um novo elemento (sempre no final da fila).
Retirar (saída) um elemento (sempre no início).
Situação inicial de uma fila
Fonte: livro-texto
Fila
Fonte: livro-texto
Criação da fila com lista
Fonte: livro-texto
Inserção de elementos na fila
Fonte: livro-texto
Inserção de elementos na fila
A partir do segundo nó, o elemento criado aponta para NULL, e o nó anterior passa a
apontar para o novo nó.
Fonte: livro-texto
Funções para entrar e inserir na fila
Fonte: livro-texto
Remoção de nó da fila
Na função, uma vez verificado se está vazia, conferindo se o início da fila é NULL.
Fonte: livro-texto
Remoção da fila
A função armazena o valor retirado na variável num e retira o nó, atualiza o controle do início
e verifica se a fila acabou.
Atualiza o valor do controle do fim se realmente tiver acabado.
Fonte: livro-texto
Remoção da fila
Simulação
Fonte: livro-texto
Função de impressão e liberação de memória
Fonte: livro-texto
Interatividade
A rotina de inserção em uma Lista pode ser considerada a mesma da Fila, porém a função
que insere no topo realiza o controle de uma maneira diferente, fazendo que a lista passe a ser
apontada pelo elemento posterior. Analise a função insere() e selecione a alternativa que
melhor descreve a assinatura da função:
Fonte: livro-texto
Interatividade
a) Função insere recebe por parâmetro um ponteiro e um inteiro, ao final retorna um ponteiro.
b) Função insere recebe por parâmetro uma lista e um inteiro, ao final retorna um ponteiro.
c) Função insere recebe por parâmetro um ponteiro, uma lista e um inteiro, ao final retorna
um ponteiro.
a) Função insere recebe por parâmetro um ponteiro e um inteiro, ao final retorna um ponteiro.
b) Função insere recebe por parâmetro uma lista e um inteiro, ao final retorna um ponteiro.
c) Função insere recebe por parâmetro um ponteiro, uma lista e um inteiro, ao final retorna
um ponteiro.