Escolar Documentos
Profissional Documentos
Cultura Documentos
03-04 Java
03-04 Java
“Teoria” FilaDinamica.java
> Fila = O último a ser adicionado vai para o fim class FilaDinamica {
> Pilha = O último a ser adicionado vai pro inici private CaixaD ini, fim, aux, cxn;
> Árvore = Divide por tamanho numérico (>>>>)
CaixaDupla.java FilaDN() {
ini = null;
class CaixaDupla fim = null;
{ aux = null;
private int valor; cxn = null;
private CaixaDupla prox, ant; }
aux = aux.getProx();
i++;
}
} return volta;
} }
while(aux!=null) {
System.out.println("\
nPilha="+aux.getTexto());
aux=aux.getProx();
}
}
}
ArvoreEstatica.java ArvoreDinamica.java
import javax.swing.*; import javax.swing.*;
import java.awt.*;
class ArvoreEstatica class ArvoreDinamica {
{ private Caixarv raiz, aux, cxn;
public static void main(String args[]) { private String saida;
Caixarv raiz;
Caixarv cx1, cx2, cx3, cx4, cx5; ArvoreDin() {
raiz = null;
cx1 = new Caixarv(); aux = null;
cx1.setTxt("10"); cxn = null;
cx2 = new Caixarv();
cx2.setTxt("5"); saida = "";
cx3 = new Caixarv(); }
cx3.setTxt("20");
cx4 = new Caixarv(); public void Insere(String txt) {
cx4.setTxt("1"); int num1, num2;
cx5 = new Caixarv(); try
cx5.setTxt("7"); {
cxn = new Caixarv();
raiz = cx1; cxn.setTxt(txt);
cx1.setEsq(cx2);
cx1.setDir(cx3); if(raiz == null) {
cx2.setEsq(cx4); raiz = cxn;
cx2.setDir(cx5); return;
}
//Percorrendo a arvore
String saida = "Valor = " + raiz.getTxt(); aux = raiz;
Caixarv aux=raiz; num1 = Integer.parseInt(txt);
while(true) {
while(true) { num2 =
ImageIcon img = new Integer.parseInt(aux.getTxt());
ImageIcon("tree.jpeg");
Font tipo= new if(num1 < num2) { //esquerda
Font("Arial",Font.BOLD+Font.ITALIC,30); if(aux.getEsq() == null) {
aux.setEsq(cxn);
Object[] options = { "(R)aiz", "(E)sq", return;
"(D)ir", "(F)im" }; }
else
JLabel perg = new JLabel(saida); aux = aux.getEsq();
perg.setFont(tipo); }
else if(num1 > num2) { //direita
int op = if(aux.getDir() == null) {
Java 3o ano → 1o Bimestre – Estruturas de dados // By: André Creppe – Pág 4/4
JOptionPane.showOptionDialog(null, aux.setDir(cxn);
perg, return;
"Caixarv na pratica", }
JOptionPane.DEFAULT_OPTION, else
JOptionPane.WARNING_MESSAGE, aux = aux.getDir();
img, options, options[0] }
); else { //num1 == num2
JOptionPane.showMessageDialog(null,
if(op == 0) { "O numero ja existe...");
aux = raiz; return;
saida = "Valor = " + aux.getTxt(); }
} }
else if(op == 1) { }
aux = aux.getEsq(); catch(Exception ex) {
JOptionPane.showMessageDialog(null,
if(aux == null) { "Ocorreu um erro na Inclusao!!");
saida = "Valor = null!\ return;
n(Voltando a Raiz = " + raiz.getTxt() + ")"; }
aux = raiz; }
}
else public void Mostra() {
saida = "Valor = " + if(raiz == null) {
aux.getTxt(); JOptionPane.showMessageDialog(null, "A
} arvore esta vazia...");
else if(op == 2) { return;
aux = aux.getDir(); }
JOptionPane.showMessageDialog(null,
if(aux == null) { Mostrarv(raiz));
saida = "Valor = null!\ saida = "";
n(Voltando a Raiz = " + raiz.getTxt() + ")"; }
aux = raiz;
} private String Mostrarv(Caixarv cx) {
else if(cx == null)
saida = "Valor = " + return saida;
aux.getTxt();
} Mostrarv(cx.getEsq());
else saida += "> " + cx.getTxt() + "\n";
System.exit(1); Mostrarv(cx.getDir());
}
} return saida;
} }
}