Você está na página 1de 4

Java 3o ano → 1o Bimestre – Estruturas de dados // By: André Creppe – Pág 1/4

“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; }

CaixaDupla() { public void Insere(int valor) {


valor = 0; cxn = new CaixaD();
prox = null; cxn.setValor(valor);
ant = null;
} if(ini == null) {
//SETs ini = cxn;
public void setValor(int vv) { fim = cxn;
this.valor = vv; }
} else {
public void setProx(CaixaDupla pp) { fim.setProx(cxn);
this.prox = pp; cxn.setAnt(fim);
} fim = cxn;
public void setAnt(CaixaDupla aa) { }
this.ant = aa; }
}
//GETs public void MostraIF() {
public int getValor() { aux = ini; //Para FI → Trocar por ‘fim’
return this.valor;
} if(aux == null) {
public CaixaDupla getProx() { System.out.println("Caixa Vazia!");
return this.prox; return;
} }
public CaixaDupla getAnt() {
return this.ant; while(aux != null) {
} System.out.println("Valor (I->F)= " +
} aux.getValor());
aux = aux.getProx();
FilaEstatica.java }
}
public class FilaEstatica
{ public void RemoveI() {
public static void main (String[] args) { if(ini == fim) {//Apenas 1 caixa
caixa cx1, cx2, cx3, cx4; ini = null;
caixa inicio, fim, aux; fim = null;
}
cx1 = new caixa(); else {
cx1.setValor(10); aux = ini;
inicio = cx1; //Para RemoveF troque os ini abaixo
fim = cx1; ini = aux.getProx();
ini.setAnt(null);
cx2 = new caixa();
cx2.setValor(20); aux = null;
cx1.setProx(cx2); }
fim = cx2; }
cx3 = new caixa(); public void Procura(int valor) { //Procura um
cx3.setValor(30); valor específico na fila
cx2.setProx(cx3);
Java 3o ano → 1o Bimestre – Estruturas de dados // By: André Creppe – Pág 2/4

fim = cx3; if(ini == null) {


System.out.println("Caixa Vazia!");
aux = inicio; return;
}
while(aux != null) {
System.out.println("\nValor = " + aux = ini;
aux.getValor()); int i = 1;
aux = aux.getProx(); while(aux != null) {
} if(aux.getValor() == valor) {
} System.out.println("O valor (" +
} valor + ") esta na caixa " + i + "!\n");
return;
}

aux = aux.getProx();
i++;
}

System.out.println("O valor (" + valor + ")


nao existe em nenhuma caixa :(\n");
}
}
PilhaEstatica.java PilhaDinamica.java
public class PilhaEstatica { class PilhaDinamica {
public static void main(String[] args) { Caixas inicio,fim,aux,cx;
Caixa cx1, cx2, cx3, cx4;
Caixa ini, fim, aux; public Pilhan() {
inicio = null;
ini = null; fim = null;
fim = null; aux = null;
aux = null; cx = null;
}
cx1 = new Caixa();
cx1.setValor(10); public void Inserir(String txt) {
ini = cx1; cx = new Caixas();
fim = cx1; cx.setTexto(txt);

cx2 = new Caixa(); if(inicio == null)


cx2.setValor(20); fim=cx;
cx2.setProx(cx1);
ini = cx2; cx.setProx(inicio);
inicio = cx;
cx3 = new Caixa(); }
cx3.setValor(30);
cx3.setProx(cx2); public String Remove() {
ini = cx3; String volta="";
if(inicio == fim) {
cx4 = new Caixa(); if(inicio == null) return "pilha vazia";
cx4.setValor(40); aux=inicio;
cx4.setProx(cx3); volta=aux.getTexto();
ini = cx4; aux = null; inicio = null; fim = null;
}
aux = ini; else {
while(aux != null) { aux = inicio;
System.out.println("Valor = " + volta=aux.getTexto();
aux.getValor() + "\n"); inicio = aux.getProx();
aux = aux.getProx(); aux = null;
} }
Java 3o ano → 1o Bimestre – Estruturas de dados // By: André Creppe – Pág 3/4

} return volta;
} }

public void Mostra() {


aux = inicio;
if(aux==null)
System.out.println("\nPilha Vazia!");

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;
} }
}

Você também pode gostar