Buscar

Tipos Abstratos de Dados

Prévia do material em texto

Unidade IV:
Tipos Abstratos de Dados Flexíveis - Introdução
Instituto de Ciências Exatas e Informática
Departamento de Ciência da Computação
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (2)
Exercício
En
de
re
ço
s 
de
 m
em
ór
ia
N
om
e 
da
s 
va
riá
ve
is
Memória
c1 c2? ?
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
Representação gráfica
Tipos Abstratos de Dados - Introdução
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (3)
33h
1 / aa 33h
c1
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
c1
1 aa
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (4)
33h
null
1 / aa 33h
c1
c2
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
c1 c2
1 aa
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (5)
33h
33h
1 / aa 33h
c1
c2
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
c1
1 aa
c2
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (6)
33h
null
1 / aa 33h
c1
c2
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
c1 c2
1 aa
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre a execução do programa abaixo
---------------------------- Algoritmos e Estruturas de Dados II (7)
33h
51h
1 / aa
1 / aa
33h
c1
c2
51h
 ...
 Cliente c1 = new Cliente(1, “aa”);
 Cliente c2 = null;
 c2 = c1;
 c2 = null;
 c2 = c1.clone();
 ...
c1 c2
1 aa 1 aa
Exercício
Tipos Abstratos de Dados - Introdução
• Crie uma classe célula contendo os atributos elemento 
(inteiro) e prox (apontador para outra célula) 
---------------------------- Algoritmos e Estruturas de Dados II (8)
Exercício
Tipos Abstratos de Dados - Introdução
• Crie uma classe célula contendo os atributos elemento 
(inteiro) e prox (apontador para outra célula) 
---------------------------- Algoritmos e Estruturas de Dados II (9)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
• Crie uma classe célula contendo os atributos elemento 
(inteiro) e prox (apontador para outra célula) 
---------------------------- Algoritmos e Estruturas de Dados II (10)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
A boa prática da orientação por objetos recomenda 
que todos os atributos de uma classe sejam privados 
e tenham os métodos públicos de get e set!!!
• Crie uma classe célula contendo os atributos elemento 
(inteiro) e prox (apontador para outra célula) 
---------------------------- Algoritmos e Estruturas de Dados II (11)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre o que acontece se outra classe tiver o comando 
Celula tmp = new Celula(3). 
---------------------------- Algoritmos e Estruturas de Dados II (12)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre o que acontece se outra classe tiver o comando 
Celula tmp = new Celula(3). 
---------------------------- Algoritmos e Estruturas de Dados II (13)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre o que acontece se outra classe tiver o comando 
Celula tmp = new Celula(). 
---------------------------- Algoritmos e Estruturas de Dados II (14)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução
• Mostre o que acontece se outra classe tiver o comando 
Celula tmp = new Celula(). 
---------------------------- Algoritmos e Estruturas de Dados II (15)
class Celula {
public int elemento;
public Celula prox;
public Celula() {
this(0);
}
public Celula (int x) {
 this.elemento = x;
 this.prox = null;
}
}
Exercício
Tipos Abstratos de Dados - Introdução

Mais conteúdos dessa disciplina