14
1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e Estruturas de Dados I Prof. Jesús P. Mena-Chalco [email protected] 1Q-2017

Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

  • Upload
    vulien

  • View
    228

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

1

Aula 14: Exercícios de Listas encadeadas

BC1424Algoritmos e Estruturas de Dados I

Prof. Jesús P. [email protected]

1Q-2017

Page 2: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

2

Definição

Uma lista encadeada é uma sequência de registros que armazenam células.→ Cada célula contém um objeto de determinado tipo.→ Cada célula contém o endereço para a célula seguinte.

3 6 7 -2

No caso da últimacélula, o endereço

é NULL

Page 3: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

3

Estrutura usada nesta aula

Suponha que os objetos armazenados nas células são do tipo int.

3 7

Page 4: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

4

Page 5: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

5

Listas

O endereço de uma lista encadeada é o endereço de sua primeira célula.

Se p é o endereço de uma lista, podemos dizer, “p é uma lista”.

p

Page 6: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

6

Outros tipos de listas encadeadas:

Lista circular

7

p

4

8

13

0

-3

A última célulaaponta para a primeira

Page 7: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

7

Outros tipos de listas encadeadas:

Lista duplamente encadeada

7

p

9 -2 75

q

Null Null

Cada célula contém o endereçoda célula anterior e o da

seguinte

Page 8: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

8

Lista 4

Implementar os 15 exercícios de listas ligadas do HackerRank

Data: 18/Abril até às 23h50. Envio: Através do Tidia.

Page 9: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

9

Page 10: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

10

(1) Print the Elements of a Linked List

head

Page 11: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

11

(1) Print the Elements of a Linked List

Page 12: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

12

(2) Insert a Node at the Tail of a Linked List

Page 13: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

13

(3) Insert a node at the head of a linked list

Page 14: Aula 14: Exercícios de Listas encadeadasprofessor.ufabc.edu.br/~jesus.mena/courses/mcta001-1q-2017/AED1-14.pdf · 1 Aula 14: Exercícios de Listas encadeadas BC1424 Algoritmos e

14

(4) Insert a node at a specific position in a linked list