Está en la página 1de 6

EJERCICIOS PROGRAMACION II

04 – abril – 2022

EJERCICIO 1. Colas con arreglos

package colas4;

import java.io.*;

public class Colas4 {


public static class ClaseColas { // Declaracion de la clase de Colas
static int max=10; // Tamano maximo de la Cola
static int cola[]= new int[max]; // Declaracion del arreglo
static int frente, fin; // Indicadores de inicio y fin de la Cola

ClaseColas() { // Constructor que inicializa el frente y el final de la Cola


frente=0; fin=0;
System.out.println("Cola inicializada !!!");
}

public static void Insertar(int dato) {


if(fin==max) { // Esta llena la Cola?
System.out.println("\nCola llena !!!");
return;
}
cola[fin++]=dato;
System.out.println("Dato insertado !!!");
}

public static void Eliminar() {


System.out.println("\n\n<<< ELIMINAR >>>");
if(frente==fin) { // Esta vacia la Cola?
System.out.println("\nCola vacia !!!");
return;
}
System.out.println("Elemento eliminado: "+cola[frente++]);
}

public static void Mostrar() {


int i=0;
System.out.println("\n\n<<< MOSTRAR >>>");
if(frente==fin) System.out.println("\nCola vacia !!!");
for(i=frente; i<fin; i++) {
System.out.println("cola["+i+"]="+" "+cola[i]);
}
System.out.println("\nFrente= "+frente);
System.out.println("Final = "+fin);
System.out.println("Max = "+max);
}
}

static ClaseColas Cola=new ClaseColas(); // Declaracion del objeto Cola

// Funcion principal
public static void main(String args[]) throws IOException {
int op=0;
do {
System.out.println("\n\n<<< COLAS >>>");
System.out.println("1.- Altas");
System.out.println("2.- Eliminar");
System.out.println("3.- Mostrar");
System.out.println("0.- Salir");
System.out.print("Opcion? ---> ");
op=getInt();

switch(op) {
case 1 : Altas(); break;
case 2 : Cola.Eliminar(); break;
case 3 : Cola.Mostrar(); break;
}
}while(op!=0);
}

public static void Altas() throws IOException {


int elemento=0;
System.out.println("\n\n<<< ALTAS >>>");
System.out.print("Elemento a insertar? ---> ");
elemento=getInt();
Cola.Insertar(elemento); // Invocar el metodo Insertar del objeto Cola
}
// Funcion para capturar una cadena desde el teclado
public static String getString() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}

// Funcion para capturar un entero desde el teclado


public static int getInt() throws IOException {
String s = getString();
return Integer.parseInt(s);
}
}

2. Empleando las estructuras de datos, analizar un programa que permita la captura de una lista
de clientes mediante su código, para que sean atendidos por un personal, dicha lista será
manejada en un arreglo de 20 elementos, permitiendo ser controlado por el criterio de las Colas
(Primero en llegar, primero en salir).

import javax.swing.JOptionPane;
public class Clientes {
int Max=20, Frente=-1, Final=0;
int Cola[]= new int[Max];
String Dato;
boolean Res1=false, Res2=false;

public static void main(String arg[]){


Clientes Acceso=new Clientes();
}

public Clientes(){
int op=0;
while(op!=4){
op=Integer.parseInt(JOptionPane.showInputDialog(
"Opciones el registro de clientes" +
"\n [1] Agregar Dato" +
"\n [2] Eliminar Dato" +
"\n [3] Mostrar Elementos" +
"\n [4] Terminar"
));

switch(op){
case 1:{AgregarCola(); break;}
case 2:{BorrarCola(); break;}
case 3:{MostrarCola(); break;}
}
}
}
public void MostrarCola(){
String Cadena="";
for (int i=0;i<Max;i++){
Cadena+="Posicion "+ i +" ---> "+Cola[i]+"\n";
}
JOptionPane.showMessageDialog(null, Cadena);
}

public void AgregarCola(){


if (Final<Max){
Dato=JOptionPane.showInputDialog("Codigo:");
Cola[Final]=Integer.parseInt(Dato);
Final++;
if (Final==1) Frente=0;
} else
JOptionPane.showMessageDialog(null,"No hay elementos
disponibles en Cola..");
}
public void BorrarCola(){
if(Frente!=-1){
JOptionPane.showMessageDialog(null, "Dato eliminado "+Cola[Frente]);
Cola[Frente]=0;
if (Frente==(Final-1)){
System.out.print(Frente+"-"+Final);
Frente=-1;
Final=0;
} else {
Frente++;
}
}
else {
JOptionPane.showMessageDialog(null,"Datos Vacios");
}
}
}

3. Colas en java usando vectores

import javax.swing.*;
public class Colas {
public static void main (String args[]){
byte max=9,op=0;
int i=0,fr=-1,fin=-1;
int V []= new int[10];
while(op!=4){
op=Byte.parseByte(JOptionPane.showInputDialog(“Digite un numero\n”+
“1.Insertar\n”+
“2.Eliminar\n”+
“3.Mostrar\n”+
“4.Salir”));
switch(op){
case 1:
if(fin!=max){
if(fr==-1){
fin=fin+1;
fr=fr+1;
V[fin]= Byte.parseByte(JOptionPane.showInputDialog(“Digite el valor”));
}else{
fin=fin+1;
V[fin]= Byte.parseByte(JOptionPane.showInputDialog(“Digite el valor”));
}
}else{
JOptionPane.showMessageDialog(nulo, “Overflow”);
}
break;
case 2:
if(fin!=-1){
if(fin==fr){
fin=-1;
fr=-1;
}else{
fr=fr+1;}
}else{
JOptionPane.showMessageDialog(nulo, “Underflow”);
}
break;
case 3:
if(fin!=-1){
for(i=fr;i<=fin;i=i+1){
JOptionPane.showMessageDialog(nulo,V[i]);
}
} else{
JOptionPane.showMessageDialog(nulo, “Cola vacia”);
}
break;
case 4:
JOptionPane.showMessageDialog(nulo, “Gracias”);
break;
}
}
}
}

4. Cola estática con arreglo

import java.io.*;
import java.lang.*;
class ColaEstatica
{ int frente, fin, capacidad;
private int elementos[];
public ColaEstatica(int cap) {capacidad=cap; elementos=new int[capacidad]; frente=-1; fin=0;}

public boolean vacia() {return (fin==0) ? true : false;}


public boolean llena() {return (fin==capacidad)? true : false;}

public void insertar(int objeto){


try { if (!llena()) {elementos[fin]=objeto; fin++; }
else{ System.out.println("Pila Llena"); new Teclado().espera(); }
}
catch (java.lang.ArrayIndexOutOfBoundsException Error) { System.out.println("Desborde de
Cola"); }
}

public int remover() { int x=elementos[0];


for(int i=0; i<fin-1;i++)
elementos[i]=elementos[i+1];
fin--;
return(x);
}
}
public class pruebaColaEstatica{

public static void main(String arg[]) throws IOException{


ColaEstatica cola=new ColaEstatica(5);
int obj1,opcion;
Integer cadena=new Integer(0);
Teclado keyboard = new Teclado();
do{
Teclado.clrscr();
System.out.println("1) Insertar dato");
System.out.println("2) Remover dato");
System.out.println("3) Fin de Programa");
System.out.println("Opcion: "); opcion=cadena.parseInt(keyboard.leer() );
switch(opcion)
{ case 1: if (!cola.llena() ){System.out.println("Escribe un numero: ");
cola.insertar(cadena.parseInt(keyboard.leer()) );
}
else{ System.out.println("Cola Llena");
keyboard.espera();
}
break;
case 2:if (!cola.vacia())
System.out.println("Dato sacado " + cola.remover() );
else
System.out.println("Cola Vacia");
keyboard.espera();
break;
case 3: break;
}
} while(opcion!=3);
}
}

También podría gustarte