Programación II Colas

52 pages
18 views

Please download to get full document.

View again

of 52
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
Igor Santos Grueiro. Programación II Colas. A diario hacemos c olas. para comer. para ir al cine. En nuestro ordenador también hay colas. Una cola es una estructura formada por una secuencia de 0 a N elementos, en l a que la extracción de elementos se hace en orden de inserción.
Transcript
Igor Santos GrueiroProgramación IIColasA diario hacemoscolaspara comerpara ir al cineEn nuestro ordenador también hay colasUna cola es una estructura formada por una secuencia de 0 a N elementos, en la que la extracción de elementos se hace en orden de inserciónEncolarDesencolarColaObjetoObjetoEn un cola se recoge el extremo inicial de la colaUn elemento nuevo se inserta por el extremo final de la colaEs un tipo de estructura FIFO (First Input First Output)Podemos hacer variasoperaciones:Crear una colaVaciar una colaObjetoObjetoComprobar si una cola está Vacía NOSíObjetoObjetoObtener una copia del primer elementoObjetoObjetoObjetoInsertar un elemento en la colaSe conoce como encolar o “put”ObjetoObjetoObjetoRecoger el primer elemento y eliminarlo de la colaSe conoce como desencolar o “get”ObjetoObjetoConstruyamos una colaNos hace falta una estructura que enlace un elemento al siguienteNodoNodo siguienteObject elemento} public class NodoCola{private Object elemento;private NodoColasiguiente;public NodoCola(Object elemento, NodoColasiguiente){this.elemento = elemento;this.siguiente = siguiente; }public NodoCola(Object elemento){this.elemento = elemento;this.siguiente = null;}public Object getElemento(){returnelemento; } publicNodoColagetSiguiente(){returnsiguiente;}public void insertarSig(Object x) {NodoColanuevoNodo= newNodoCola(x, this.siguiente);this.siguiente= nuevoNodo;}}Ahora la clase Cola} public class Cola{private NodoColaprimero; private NodoColaultimo;private intcont;public Cola(){this.primero = null;this.ultimo= null;this.cont = 0; }// … }} Para vaciar se ponen a null el primero y el último// … public vaciar(){this.primero = null;this.ultimo= null;this.cont = 0;}// … Para comprobar si está vacía miramos si el primero es null//…publicbooleanestaVacia(){return(this.primero == null); }//…Para insertar un elemento se añade un elemento como siguiente del último nodo de la cola//…public void put(Object x){if (primero == null){this.primero= new NodoCola(x);this.ultimo= primero; }else{this.ultimo.insertarSiguiente(x);this.ultimo= this.ultimo.getSiguiente(); }this.cont++;}//…PrimeroCimaÚltimoCimapublic Object cima(){ return v[cont-1]; } Para devolver el elemento al frente se devuelvo el primero//…public Object frente(){if (this.primero !=null)return this.primero.getElemento();else return null;}//…public Object cima(){ return v[cont-1]; } Para borrar el elemento al frente se pone el primero al valor siguiente del primero previo//…public void borrar(){if (this.primero !=null){this.primero = this.primero.getSiguiente();this.cont--; }}//…PrimeroCimaÚltimoCimapublic Object cima(){ return v[cont-1]; } Para desencolar el elemento al frente se recupera y se borra el elemento primero//…public Object get(){if (this.primero == null)return null;else {this.cont--;NodoColanodoTmp = this.primero;this.primero = this.primero.getSiguiente();returnnodoTmp.getElemento(); }}//…PrimeroCimaÚltimoCimaDevolvemos el objetodentro del nodo eliminadopublic Object cima(){ return v[cont-1]; } También, podemos recuperar el número de elementos insertados en la cola//…public inttamanyo(){return this.cont;}//…Ya comprendemos las colasEjercicio palíndromosDiseñar un programa que determine si una frase introducida por teclado es o no palíndroma.Una frase es palíndroma si la secuencia de caracteres de izquierda a derecha en la frase es la misma que de derecha a izquierda. En esta comprobación no se tendrá en cuenta los caracteres blancos que separan las palabras de la frase, ni se diferenciaran las mayúsculas de las minúsculas.El programa deberá hacer uso en este programa de una Pila y de una Cola para verificar que la frase es o no palíndroma.
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks