Está en la página 1de 4

ALGORITMOS_COLAS_Ejercicio1 a = new ALGORITMOS_COLAS_Ejercicio1();

int H = ' ', G = ' ';


Scanner go = new Scanner(System.in);
a.Cola();
a.LLenarVacio();
while (H != 3) {
System.out.println(" MENU ");
System.out.println("INSERTAR = |1|\nATENDER = |2|\nSALIR = |3| ");
System.out.print("Escoga una opcion :");
System.out.println("");
H = go.nextInt();
if (H == 1) {
a.Insertar();
a.Mostrar();
}
if (H == 2) {
System.out.println("ATENDIDO = |1|\nNO ATENDIDO = |2|");
G = go.nextInt();
if (G == 1) {
a.Atendido();
a.Mostrar();
}else{
if(G==2){
a.NoAtendido();
a.Mostrar();
}else{
System.out.println("-----OPCION INVALIDA-----");
}
}
}
if (H != 1 && H != 2 && H != 3) {
System.out.println("-----OPCION INVALIDA-----");
}
}
public char Cola[];
public int Frente = -1, Final = -1, Contador = 0, ptr, Aux2;
public char X, Aux, Aux3, Aux4;
Scanner go = new Scanner(System.in);
public void Cola() {
int N;
System.out.println("Ingrese el tamao de la Cola :");
N = go.nextInt();
Cola = new char[N];
}
public void LLenarVacio() {
for (int i = 0; i < Cola.length; i++) {
Cola[i] = ' ';
}
}
public void Mostrar() {
System.out.println("COLA :");
for (int i = 0; i < Cola.length; i++) {
System.out.print("[" + Cola[i] + "]");
}
System.out.println("");
}
public void Insertar() {
System.out.println("Ingrese el elemento para INSERTAR en la COLA :");
X = go.next().charAt(0);
if ((Final == Cola.length - 1 && Frente == 0) || (Frente == Final + 1))
{
System.out.println("______COLA LLENA______");
} else {
if (Final == Cola.length - 1) {
Final = 0;
} else {
Final++;
}
Cola[Final] = X;
if (Frente == -1) {
Frente = 0;
}
Contador++;
if (Contador == 10) {
ptr = Final;
}
}
}
public void Atendido() {
if (Frente == -1) {
System.out.println("______COLA VACIA______");
} else {
if (Frente == Final) {
Cola[Frente] = ' ';
Frente = -1;
Final = -1;
} else {
if (Frente == Cola.length - 1) {
Cola[Frente] = ' ';
Frente = 0;
} else {
Cola[Frente] = ' ';
Frente++;
}
}
Contador--;
if (ptr == Cola.length - 1) {
ptr = 0;
} else {
ptr++;
}
}
}
public void NoAtendido() {
if (Frente == -1) {
System.out.println("______COLA VACIA______");
} else {
if (Contador >= 10) {
if (Final == Cola.length - 1) {
Aux = Cola[ptr];
Cola[ptr] = Cola[Frente];
Aux2 = ptr;
ptr++;
Final = 0;
Aux4 = Aux;
while (Aux2 != Final && Aux2 != -1 ) {
Aux2++;
if (Aux2 == Cola.length - 1) {
Aux3 = Cola[Aux2];
Cola[Aux2] = Aux4;
Aux4 = Aux3;
Aux2 = -1;
} else {
Aux3 = Cola[Aux2];
Cola[Aux2] = Aux4;
Aux4 = Aux3;
}
}
Cola[Frente] = ' ';
Frente++;
} else {
Aux = Cola[ptr];
Cola[ptr] = Cola[Frente];
Aux2 = ptr;
if (ptr == Cola.length - 1) {
ptr = 0;
} else {
ptr++;
}
Final++;
Aux4 = Aux;
while (Aux2 != Final) {
if (Aux2 == Cola.length - 1) {
Aux2 = 0;
} else {
Aux2++;
}
if (Aux2 == Cola.length - 1) {
Aux3 = Cola[Aux2];
Cola[Aux2] = Aux4;
Aux4 = Aux3;
Aux2 = -1;
} else {
Aux3 = Cola[Aux2];
Cola[Aux2] = Aux4;
Aux4 = Aux3;
}
}
Cola[Frente] = ' ';
Frente++;
}
} else {
if ((Final == Cola.length - 1) && (Frente == 0)) {
Frente++;
Final=0;

} else {
if (Final == Cola.length - 1) {
Aux = Cola[Final];
Cola[Final] = Cola[Frente];
Cola[Frente] = ' ';
Frente++;
Final = 0;
Cola[Final] = Aux;
}else{
Final++;
Cola[Final] = Cola[Frente];
Cola[Frente] = ' ';
if(Frente == Cola.length-1){
Frente=0;
}else{
Frente++;
}

}
}
}
}
}

También podría gustarte