RE:informacion sobre estructura bicola
Publicado por
carlos (1 intervención) el 08/04/2008 20:38:08
package MiguelAngel;
import javax.swing.*;
public class Bicola {
/**
* @param args
*/
public static void main(String[] args) {
Bicola arreglo = new Bicola();
int desicion;
int max = Integer.parseInt(JOptionPane.showInputDialog("Tamaño "));
arreglo.BiColas(max);
do {
desicion = Integer.parseInt(JOptionPane.showInputDialog("funcion a realizar?" + "
" + "1 = Introducir por la izquierda" + "
" + "2 = Introducir por la derecha" + "
"+ "3 = Quitar dato por la izquierda"
+ "
"+ "4 = quitar por la derecha" + "
" + "5 = Imprimir" + "
" + "6 = Limpiar" + "
" + "7 = SALIR"));
if (desicion== 1) {
int x;
x = Integer.parseInt(JOptionPane.showInputDialog(null,"Introduce dato (Izquierda)"));
//bicola.introducirIzquierda(x);
}else if(desicion == 2){
int x;
x = Integer.parseInt(JOptionPane.showInputDialog(null,"Introduce dato(Derecha)"));
arreglo.introducirDerecha(x);
}else if(desicion == 3){
arreglo.quitarIzquierda();
}else if(desicion == 4){
arreglo.quitarDerecha();
}else if(desicion == 5){
arreglo.Imprimir();
}else if(desicion == 6){
arreglo.limpiarBicola();
}
} while (desicion != -1);
JOptionPane.showMessageDialog(null, "FIN DEL PROGRAMA");
}//fin del main
int limite = -1;
int arreglo[];
public void BiColas(int j){
limite=0;
arreglo = new int[j];
}
public boolean llena(){
if (limite == arreglo.length)
return true;
else
return false;
}//fin llena
public boolean vacia(){
if (limite == -1)
return true;
else
return false;
}//fin vacia
public void limpiarBicola(){
limite = -1;
if (vacia() == true) {
for (int i = 0; i < arreglo.length; i++) {
arreglo[i]=0;
}
}
}
public void Imprimir(){
if(vacia() == true)
{
System.out.println("La cola esta vacia, ingrese datos primero:");
}
else
for(int Contador = 0; Contador < arreglo.length; Contador ++)
System.out.println(" valores de la bicola son: " + arreglo[Contador]);
}//fin imprimir
public void introducirDerecha(int dato){
if (llena() == true)
System.err.println("Desbordamiento de cola");
else
if (limite == -1)
{
limite = 0;
arreglo[limite] = dato;
}
else
{
arreglo[limite] = dato;
limite ++;
}
}//fin introducir
public int quitarIzquierda(){
int contador = 0;
if (vacia() == true)
{
System.err.println("La pila esta vacia");
return -1;
}
else
{
int d;
int aux2;
for (d= 1; d < arreglo.length; d++) {
aux2 = arreglo[d];
arreglo[contador]=aux2;
contador++;
}
arreglo[limite-1] = 0;
limite --;
}
return contador;
}//fin quitar
public int quitarDerecha(){
int contador = 0;
if (vacia() == true)
{
System.err.println("La pila esta vacia");
return -1;
}
else
{
int d ,limite2;
int aux2;
/*for (cabeza = 1; cabeza < arreglo.length; cabeza++) {
aux2 = arreglo[cabeza];
arreglo[contador]=aux2;
contador++;
}*/
arreglo[limite-1] = 0;
limite --;
}
return contador;
}//fin quitar
}