Este blog fue creado con la intencion de aportar a los alumnos una ayuda con los ejercicios de la carrera de ingenieria de sistemas LEVI VELASQUEZ PAZ

Blogroll

sábado, 16 de diciembre de 2017

Crear una cola donde se pueda agregar, eliminar y mostra

Nodo Generico

public class Nodo<T> {

    private T info;
    private Nodo siguiente;

    public Nodo(T info) {
        this.info = info;
        siguiente = null;
    }

    public Nodo(T info, Nodo<T> siguiente) {
        this.info = info;
        this.siguiente = siguiente;
    }

    public T getInfo() {
        return info;
    }

    public void setInfo(T info) {
        this.info = info;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo<T> siguiente) {
        this.siguiente = siguiente;
    }
}

Clase

Cola Generica

public class Cola<T> {

    private Nodo<T> primero;
    private Nodo<T> ultimo;

    public Cola() {
        primero = null;
        ultimo = null;
    }

    public void encolar(T x) {
        Nodo<T> nuevo = new Nodo(x, null);
        if (primero == null) {
            primero = nuevo;
        } else {
            ultimo.setSiguiente(nuevo);
        }
        ultimo = nuevo;
    }

    public T desencolar() {
        T x;
        Nodo<T> temp;
        x = primero.getInfo();
        temp = primero;
        primero = primero.getSiguiente();
        temp = null;
        if (primero == null) {
            ultimo = null;
        }
        return x;
    }

    public void mostrar() {
        Nodo<T> p = primero;
        while (p != null) {
            System.out.println(p.getInfo());
            p = p.getSiguiente();
        }
    }

    public boolean esVacia() {
        if (primero == null) {
            return true;
        } else {
            return false;
        }
    }
}

Programa

que usa la cola:

import java.util.Scanner;

public class ProyectoColasGenericas {

    public static void main(String[] args) {
        int op, x;
        Scanner entrada = new Scanner(System.in);
        Cola<Integer> cola = new Cola();

        do {
            System.out.println("Menu Colas");
            System.out.println("[1] Encolar");
            System.out.println("[2] Desencolar");
            System.out.println("[3] Mostrar");
            System.out.println("[4] Salir");
            System.out.print("Ingrese opcion : ");
            op = entrada.nextInt();
            switch (op) {
                case 1:
                    System.out.print(" Ingrese numero : ");
                    x = entrada.nextInt();
                    cola.encolar(x);
                    break;
                case 2:
                    if (!cola.esVacia()) {
                        x = cola.desencolar();
                        System.out.println("Dato desencolado : " + x);
                    } else {
                        System.out.println("Lac cola esta vacia");
                    }
                    break;
                case 3:
                    System.out.println(" Datos de la cola");
                    cola.mostrar();
                    break;
            }
        } while (op != 4);
    }
}
Share:

2 comentarios:

Buscar este blog

Con tecnología de Blogger.

Blog Archive

Blog Archive