Java Lista Simplesmente, Duplamente Encadeada E Recursiva
Dissertações: Java Lista Simplesmente, Duplamente Encadeada E Recursiva. Pesquise 861.000+ trabalhos acadêmicosPor: winterfell • 21/4/2014 • 5.815 Palavras (24 Páginas) • 1.084 Visualizações
package lista.se;
import java.util.Scanner;
public class ListaSE {
private static class Nodo{
int info;
Nodo prox;
public Nodo(int n) {
info = n;
prox = null;
}
}
public static void main(String[] args) {
Nodo inicio = null;
Nodo fim = null;
Nodo prox = null;
int qtd = 0;
int a = 0,n;
Scanner tec = new Scanner(System.in);
while(a!=6){
System.out.println("1 - insira um numero");
System.out.println("2 - remover um numero");
System.out.println("3 - procurar um numero");
System.out.println("4 - visualizar os elementos da lista");
System.out.println("5 - quantidade de elementos na lista");
System.out.println("6 - sair");
a = tec.nextInt();
if (a == 1){
System.out.print("insira o numero");
n = tec.nextInt();
Nodo Novo = new Nodo(n);
if (inicio == null){
inicio = Novo;
fim = Novo;
qtd++;
}
if(n < inicio.info){
Novo.prox = inicio;
inicio = Novo;
qtd++;
}
if (fim.info < n){
Novo.prox=null;
fim.prox = Novo;
fim = Novo;
qtd++;
}
Nodo atual = inicio;
Nodo aux = inicio;
while(atual.info < n){
aux = atual;
atual = atual.prox;
}
if (atual.info == n){
System.out.println("numero já inserido");
qtd--;
}
else
{
Novo.prox = atual;
aux.prox = Novo;
}
}
if (a == 2){
System.out.print("insira o numero");
n = tec.nextInt();
Nodo atual = inicio;
Nodo aux = fim;
if (n == inicio.info){
inicio = inicio.prox;
if (atual == fim ){
fim = null;
}
qtd--;
}
else{
while ((atual!=null)&&(atual.info!=n)){
aux=atual;
atual=atual.prox;
}
if (atual == null){
System.out.println("sem numeros para retirar");
}
if (atual == fim){
fim = aux;
fim.prox = null;
}
else{
aux.prox = atual.prox;
}
qtd--;
}
}
if(a == 3){
Nodo atual = inicio;
System.out.print("insira o numero que vc quer
...