fbpx
Wikipedia

Cola circular

Una cola circular o anillo es una estructura de datos en la que los elementos están de forma circular y cada elemento tiene un sucesor y un predecesor. Los elementos pueden consultarse, añadirse y eliminarse únicamente desde la cabeza del anillo que es una posición distinguida. Existen dos operaciones de rotaciones, una en cada sentido, de manera que la cabeza del anillo pasa a ser el elemento sucesor, o el predecesor, respectivamente, de la cabeza actual.

Anillo en Maude

fmod ANILLO {X :: TRIV} is sorts AnilloNV{X} Anillo{X} . subsort AnilloNV{X} < Anillo{X} . Int num; If(vacía()) No funcia code op crear : -> Anillo{X} [ctor] . op insertar : X$Elt Anillo{X} -> AnilloNV {X} [ctor] . -> Anillo{X} . ops rotarDch rotarIzq : Anillo{X} -> Anillo{X} . op cabeza : AnilloNV{X} -> X$Elt . op esVacio? : Anillo{X} -> Bool . op aLaCola : X$Elt Anillo{X} -> Anillo{X} . op elimCola : Anillo{X} -> Anillo{X} . op cola : AnilloNV {X} -> X$Elt . var A : Anillo{X} . vars E E2 : X$Elt . eq eliminar(crear) = crear . eq eliminar(insertar(E, A)) = A . eq cabeza(insertar(E, A)) = E . eq esVacio?(crear) = true . eq esVacio?(insertar(E, A)) = false . eq cola(insertar(E, crear)) = E . eq cola(insertar(E, insertar(E2, A))) = cola(insertar(E2, A)) . eq elimCola(crear) = crear . eq elimCola(insertar(E, crear)) = crear . eq elimCola(insertar(E, insertar(E2, A))) = insertar(E, elimCola(insertar(E2, A))) . eq aLaCola(E, crear) = insertar(E, crear) . eq aLaCola(E, insertar(E2, A)) = insertar(E2, aLaCola(E, A)) . eq rotarDch(crear) = crear . eq rotarDch(insertar(E, A)) = aLaCola(E, A) . 

Anillo en Pseudolenguaje

FUNC CrearCola() : TCola VARIABLES cola: TCola INICIO cola.frente <- MAXCOLA cola.final <- MAXCOLA RESULTADO <- cola FIN PROC DestruirCola(&cola: TCola) INICIO //Sin modificaciones FIN FUNC ColaLlena(cola: TCola): LÓGICO INICIO RESULTADO <- (cola.final MOD MAXCOLA) + 1 = cola.frente FIN FUNC ColaVacia(cola: TCola): LÓGICO INICIO RESULTADO <- cola.final = cola.frente FIN PROC MeterCola (&cola: TCola; &e: Telemento; &error: Terror) VARIABLES fin: NATURAL INICIO SI ColaLlena(cola) ENTONCES error <- ErrorColaLlena EN OTRO CASO error <- NoError fin <- (cola.final MOD MAXCOLA) + 1 cola.final <- fin cola.elementos[fin] <- e FINSI FIN PROC SacarCola (&cola: TCola; &e: Telemento; &error: Terror) VARIABLES ini: NATURAL INICIO SI ColaVacia(cola) ENTONCES  error <- ErrorColaLlena EN OTRO CASO error <- NoError ini <- (cola.frente MOD MAXCOLA) + 1 cola.frente <- ini e <- cola.elementos[ini] FINSI FIN 

Véase también

  •   Datos: Q5776624

cola, circular, cola, circular, anillo, estructura, datos, elementos, están, forma, circular, cada, elemento, tiene, sucesor, predecesor, elementos, pueden, consultarse, añadirse, eliminarse, únicamente, desde, cabeza, anillo, posición, distinguida, existen, o. Una cola circular o anillo es una estructura de datos en la que los elementos estan de forma circular y cada elemento tiene un sucesor y un predecesor Los elementos pueden consultarse anadirse y eliminarse unicamente desde la cabeza del anillo que es una posicion distinguida Existen dos operaciones de rotaciones una en cada sentido de manera que la cabeza del anillo pasa a ser el elemento sucesor o el predecesor respectivamente de la cabeza actual Anillo en Maude Editarfmod ANILLO X TRIV is sorts AnilloNV X Anillo X subsort AnilloNV X lt Anillo X Int num If vacia No funcia code op crear gt Anillo X ctor op insertar X Elt Anillo X gt AnilloNV X ctor gt Anillo X ops rotarDch rotarIzq Anillo X gt Anillo X op cabeza AnilloNV X gt X Elt op esVacio Anillo X gt Bool op aLaCola X Elt Anillo X gt Anillo X op elimCola Anillo X gt Anillo X op cola AnilloNV X gt X Elt var A Anillo X vars E E2 X Elt eq eliminar crear crear eq eliminar insertar E A A eq cabeza insertar E A E eq esVacio crear true eq esVacio insertar E A false eq cola insertar E crear E eq cola insertar E insertar E2 A cola insertar E2 A eq elimCola crear crear eq elimCola insertar E crear crear eq elimCola insertar E insertar E2 A insertar E elimCola insertar E2 A eq aLaCola E crear insertar E crear eq aLaCola E insertar E2 A insertar E2 aLaCola E A eq rotarDch crear crear eq rotarDch insertar E A aLaCola E A Anillo en Pseudolenguaje EditarFUNC CrearCola TCola VARIABLES cola TCola INICIO cola frente lt MAXCOLA cola final lt MAXCOLA RESULTADO lt cola FIN PROC DestruirCola amp cola TCola INICIO Sin modificaciones FIN FUNC ColaLlena cola TCola LoGICO INICIO RESULTADO lt cola final MOD MAXCOLA 1 cola frente FIN FUNC ColaVacia cola TCola LoGICO INICIO RESULTADO lt cola final cola frente FIN PROC MeterCola amp cola TCola amp e Telemento amp error Terror VARIABLES fin NATURAL INICIO SI ColaLlena cola ENTONCES error lt ErrorColaLlena EN OTRO CASO error lt NoError fin lt cola final MOD MAXCOLA 1 cola final lt fin cola elementos fin lt e FINSI FIN PROC SacarCola amp cola TCola amp e Telemento amp error Terror VARIABLES ini NATURAL INICIO SI ColaVacia cola ENTONCES error lt ErrorColaLlena EN OTRO CASO error lt NoError ini lt cola frente MOD MAXCOLA 1 cola frente lt ini e lt cola elementos ini FINSI FINVease tambien EditarCola estructura de datos Cola de prioridad estructura de datos Bicola Datos Q5776624Obtenido de https es wikipedia org w index php title Cola circular amp oldid 120669210, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos