Estructura de listas y colas en programacion

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 8,21 KB

 
listas: public class ListaEstatica{int dato; int tamano; double[] listaArreglo; ListaEstatica(int tamano){ this.tamano=tamano; listaArreglo=new double[tamano];} public boolean estaVacia(){ if(dato==-1){return true;} else{return false;}} public void insertar(int elemento, int posicion){ listaArreglo[posicion]=elemento;} public int buscar(int elemento){ for(int i=0;ipilas: public class Pila{ private int tamaño; // tamaño de arreglo pila private int[] pilarreglo; private int Tope; // Tope de pila public Pila(int s) // constructor{ tamaño = s; // establece tamaño de arreglo pilarreglo = new int[tamaño]; // crea el arreglo Tope = -1; // vacio}public void Push(int j) // pone item en tope de pila { Tope++; pilarreglo[Tope] = j; // incrementa tope, inserta item} public int Pop() // tomar item desde el tope de la pila{ Tope--; return pilarreglo[Tope]; //accesa item, baja Tope}public int Top() // mirar al tope de la pila{ return pilarreglo[Tope];}public boolean isEmpty() // true si pila esta vacia{ if(Tope == -1)return true; else return false;} public boolean isFull() // true si pila esta llena{ if(Tope == tamaño-1)return true; else return false;}}/** Retorna el tamao i.e cantidad de elementos */ public int tamaño() { if (esVacia()) {return 0; } else if (resto==null) {return 1; } else {return 1+resto.tamao();}}}colas: class ColaEstatica{ private int tamano; private int[] colarreglo; private int frente; private int fin; private int numItems;public ColaEstatica(int s) // constructor{ tamano = s; colarreglo = new int[tamano]; frente = 0; fin = -1; numItems = 0;}public void insertar(int j) //pone item al final de cola{ if(fin == tamano-1) //setea el final fin = -1; colarreglo[++fin] = j; //incrementa fin e inserta numItems++; // hay un item mas}public int sacar() //saca item del frente de la cola{ int temp = colarreglo[frente++]; //obtiene valor y saca del frente if(frente == tamano) //reciclado frente = 0; numItems--; //un item menos return temp;}public int mirarFrente() // mira el frente de la cola{ return colarreglo[frente];}public boolean estaVacia() // true si cola esta vacia{ return (numItems==0);}public boolean estaLlena() // true si cola esta llena{ return (numItems==tamano);}public int tamanoCola() //numero de items de cola{ return numItems;}} colas negativas Programa en Java que sirve para generar numeros aleatorios negativos y positivos y evaluarlos con el uso de colas. class Col{ int Cola[]; int Frente; int Final; int Nulo; int MaxCola; public Col(int xMaxCola) { Cola=new int[xMaxCola+1]; MaxCola=xMaxCola-1; Nulo=-1; Frente=Nulo; Final=Nulo;}public Col(){ MaxCola=100; Cola=new int[MaxCola+1]; MaxCola=MaxCola-1; Nulo=-1; Frente=Nulo; Final=Nulo;}public void Meter(){ int N=0,aux=(int)(Math.random()*2); if(aux==0){ N=(int)(Math.random()*25+1); }else{ N=(int)(Math.random()*25+1); if(N!=0) N=-1*((int)(Math.random()*25+1));} if((Frente==0&&Final==MaxCola)||(Frente==(Final+1))){ System.out.println("Desbordamiento de memoria"); return; }else{ if(Frente==Nulo) { Frente=0; Final=0; }else if(Final==MaxCola) Final=0; e lse Final+=1; C ola[Final]=N;}}p ublic void Meter(int Elemento){ if((Frente==0&&Final==MaxCola)||(Frente==(Final+1))){ System.out.println("Desbordamiento de memoria"); return;}else{ if(Frente==Nulo) { Frente=0; F inal=0; }else if(Final==MaxCola) Final=0; else Final+=1; Cola[Final]=Elemento;}}public int Sacar(){ int aux; if(Frente==Nulo) { System.out.println("Cola Vacia"); return 0;}else{ aux=Cola[Frente]; if(Frente==Final) { Frente=Nulo; Final=Nulo; } else if(Frente==MaxCola) Frente=0; else F rente+=1; r eturn aux;}} public Col Negativos(Col C1){ Col aux=new Col(C1.MaxCola); int N; for(int i=0;i<=C1.MaxCola;i++){ N=C1.Sacar(); if(N<0){ aux.Meter(N);}} r eturn aux;}p ublic void MostrarCola() { System.out.println("\\n< Frente \\n||Numero|| --> Final \\n**Numero** --> Frente/Final\\n"); for(int i=0;i<=MaxCola;i++){ if (Frente == i && Final == i) System.out.print("**" + Cola[i] + "** \\t"); else if (Frente == i){ System.out.print("<<" + Cola[i] + "<< \\t");} else if (Final == i) System.out.print("||" + Cola[i] + "|| \\t"); e lse System.out.print(Cola[i] + "\\t");}}}class ColitaNegativa{ public static void main(String ramms[])throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int Op,tam=100; Col C1=new Col(tam); Col aux=new Col(); do{ S ystem.out.println("\\nMenu"); System.out.println("1: Crear Cola"); System.out.println("2: Ver La Cola"); System.out.println("3: Cola De Negativos"); System.out.println("4: Ver La Cola de Negativos"); System.out.println("5: Salir"); System.out.print("Elija una Opcion: "); Op=Integer.parseInt(in.readLine()); switch(Op){ case 1: for(int i=0;icolas identicas I dentifica si dos colas son Iguales class Cola{ int Cola[]; int Frente; int Final; int Nulo; int MaxCola; public Cola(int xMaxCola){ Cola=new int[xMaxCola+1]; MaxCola=xMaxCola-1; Nulo=-1; Frente=Nulo; Final=Nulo;}public Cola(){ MaxCola=10; Cola=new int[MaxCola+1]; MaxCola=MaxCola-1; Nulo=-1; Frente=Nulo; Final=Nulo;}p ublic void Meter(){ int N=(int)(Math.random()*100+1); if((Frente==0&&Final==MaxCola)||(Frente==(Final+1))){ System.out.println("Desbordamiento de memoria"); return;}else{ if(Frente==Nulo) { Frente=0; Final=0; }else if(Final==MaxCola) Final=0; else Final+=1; Cola[Final]=N; } }public void Meter(int Elemento) { if((Frente==0&&Final==MaxCola)||(Frente==(Final+1))) { System.out.println("Desbordamiento de memoria"); return; }else { if(Frente==Nulo) { Frente=0; Final=0; }else if(Final==MaxCola) Final=0; else Final+=1; Cola[Final]=Elemento; } }public int Sacar() { int aux; if(Frente==Nulo) { //System.out.println("Cola Vacia"); return 0; }else { aux=Cola[Frente]; if(Frente==Final) { Frente=Nulo; Final=Nulo; }else if(Frente==MaxCola) Frente=0; else Frente+=1; return aux; } }public void MostrarCola() { System.out.println("\\n< Frente \\n||Numero|| --> Final \\n**Numero** --> Frente/Final\\n"); for(int i=0;i<=MaxCola;i++) { if (Frente == i && Final == i) System.out.print("**" + Cola[i] + "** \\t"); else if (Frente == i) { System.out.print("<<" + Cola[i] + "<< \\t"); } else if (Final == i) System.out.print("||" + Cola[i] + "|| \\t"); else System.out.print(Cola[i] + "\\t"); } } public boolean SonIguales(Cola c1,Cola c2) { boolean simon=false; for(int i=0;i<=c1.MaxCola;i++) { if(c1.Sacar()!=c2.Sacar()) { simon=false; break; }else simon=true; } return simon; } }class ColasIdenticas { public static void main(String[] ramms)throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int Op,tam=5; Cola C1,C2,aux; C1=new Cola(tam); C2=new Cola(tam); aux=new Cola(1); do { System.out.println("\\nMenu"); System.out.println("1: Crear Colas"); System.out.println("2: Ver Las Colas"); System.out.println("3: Comparar las Colas"); System.out.println("4: Salir"); System.out.print("Elija una Opcion: "); Op=Integer.parseInt(in.readLine()); switch(Op) { case 1: System.out.print("Creacion Manual(1)/Automatica(2): "); Op=Integer.parseInt(in.readLine()); if(Op==1) { for(int i=0;i

Entradas relacionadas: