Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- class No{
- int valor;
- No prox;
- public No(int v){
- valor = v;
- prox = null;
- }
- }
- class Lista{
- No primeiro,ultimo;
- int totalNos;
- public Lista(){
- primeiro = ultimo = null;
- totalNos = 0;
- }
- public int getTotalNos(){
- return totalNos;
- }
- public boolean checkIfListaVazia(){
- if (getTotalNos() == 0){
- return true;
- }
- return false;
- }
- public void inserirNoInicio(No n) {
- if ( checkIfListaVazia() ){
- primeiro = ultimo = n;
- }
- else{
- n.prox = primeiro;
- primeiro = n;
- }
- totalNos++;
- }
- public void inserirNoFim(No n){
- // caso não existam nós inseridos,
- // insere o primeiro nó (n) na lista
- if ( checkIfListaVazia() ){
- primeiro = ultimo = n;
- }
- else{
- ultimo.prox = n;
- ultimo = n;
- }
- totalNos++;
- }
- public void excluirNo(No n){
- No noAtual;
- No noAnterior;
- noAtual = noAnterior = primeiro;
- int contador = 1;
- if (checkIfListaVazia() == false){
- while (contador <= getTotalNos() &&
- noAtual.valor != n.valor){
- noAnterior = noAtual;
- noAtual = noAtual.prox;
- contador++;
- }
- if(noAtual.valor == n.valor){
- if ( getTotalNos() == 1){
- primeiro = ultimo = null;
- }
- else{
- if (noAtual == primeiro){
- primeiro = noAtual.prox;
- }
- else{
- noAnterior.prox = noAtual.prox;
- }
- }
- totalNos--;
- }
- }
- }
- public void exibirLista(){
- No temp = primeiro;
- String valores = "";
- int contador = 1;
- if ( checkIfListaVazia() == false ){
- while (contador <= getTotalNos()){
- valores += Integer.toString(temp.valor)+"-";
- temp = temp.prox;
- contador++;
- }
- }
- }
- JOptionPane.showMessageDialog(null, valores);
- }
- public class ListaEncadeadaSimples {
- public static void main(String[] args) {
- Lista l = new Lista();
- l.inserirNoFim(new No(2));
- l.inserirNoFim(new No(12));
- l.inserirNoInicio(new No(22));
- l.inserirNoFim(new No(32));
- l.inserirNoFim(new No(2));
- l.exibirLista();
- l.excluirNo(new No(12));
- l.exibirLista();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement