Sunteți pe pagina 1din 4

Se deben crear 3 clases como se muestra acontinuacion:

//PRIMER CLASE Nodo

package colacircularcristiansuesca;
/**
*
* @author Leonardo Arango
*/
public class Nodo {
int datos;
Nodo siguiente, anterior;
}

// SEGUNDA CLASE Lista

package colacircularcristiansuesca;

import java.util.Scanner;

/**
*
* @author Leonardo Arango
*/
public class Lista {

Nodo primero;
Nodo ultimo;
int dato;
Scanner teclado = new Scanner(System.in);

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

public void ingresar(int x) {


Nodo nuevo = new Nodo();
nuevo.datos = x;
if (primero == null) {
primero = nuevo;
primero.siguiente = primero;
primero.anterior = ultimo;
ultimo = nuevo;
} else {
ultimo.siguiente = nuevo;
nuevo.siguiente = primero;
ultimo = nuevo;
primero.anterior = ultimo;
}
}

public void mostrar() {


Nodo actual = new Nodo();
actual = primero;
do {
System.out.println("-> " + actual.datos);
actual = actual.siguiente;
} while (actual != primero);

public void buscar(int x) {


Nodo actual = new Nodo();
actual = primero;
boolean encontrado = false;
do {
if (actual.datos == x) {
System.out.println("si pasa");
encontrado = true;
dato = actual.datos;
}
actual = actual.anterior;
} while (actual != ultimo);
if (encontrado == true) {
System.out.println("SE ENCONTRO EL VALOR");
System.out.println(dato);
} else {
System.out.println("NO SE ENCONTRO EL VALOR");
}
}

public void modificar(int x) {


Nodo actual = new Nodo();
actual = primero;
do {
if (actual.datos == x) {
System.out.println("INGRESE EL NUEVO VALOR:");
actual.datos = teclado.nextInt();
}
actual = actual.siguiente;
} while (actual != primero);

public void cantidad() {


Nodo actual = new Nodo();
actual = primero;
int contador = 0;
do {
contador++;
actual = actual.siguiente;

} while (actual != primero);


System.out.println(contador);
}
}

// TERCER CLASE ColaCircularCristianSuesca

package colacircularcristiansuesca;

import java.util.Scanner;

/**
*
* @author Leonardo Arango
*/

public class ColaCircularCristianSuesca {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);


Lista lista1 = new Lista();
int opcion = 0;
System.out.println("COLA CIRCULAR CRISTIAN SUESCA.");

do {
System.out.println("");
System.out.println("OPCIONES:");
System.out.println("1. INGRESAR VALOR");
System.out.println("2. MOSTRAR VALORES");
System.out.println("3. BUSCAR VALOR");
System.out.println("4. MODIFICAR VALOR");
System.out.println("5. TAMA�O DE COLA");
System.out.println("6. SALIR DE LA COLA");
System.out.println("-------------------------------");
opcion = teclado.nextInt();
switch (opcion) {
case 1:
System.out.println("INGRESAR NUEVO VALOR:");
int dato = teclado.nextInt();
lista1.ingresar(dato);
break;
case 2:
System.out.println("LISTA DE VALORES INGRESADOS:");
lista1.mostrar();
break;
case 3:
System.out.println("BUSCAR");
System.out.println("VALOR A BUSCAR:");
int dato1=teclado.nextInt();
lista1.buscar(dato1);
break;
case 4:
System.out.println("VALOR A MODIFICAR:");
int dato2=teclado.nextInt();
lista1.modificar(dato2);
break;
case 5:
System.out.println("TAMA�O ACTUAL DE LA COLA:");
lista1.cantidad();
break;
}
} while (opcion != 6);
}
}