Algoritmos de Estructuras de Datos: Pilas, Colas y Arreglos en Pseudocódigo
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,99 KB
Operaciones con Pilas (Stacks)
Función: Comprobar si está vacía
Esta función permite verificar si la pila carece de elementos mediante el estado del tope.
Función PilaVacia(tope):
Si tope == -1 Entonces
Retornar VERDADERO
Sino
Retornar FALSO
Fin Si
Fin FunciónFunción: Comprobar si está llena
Determina si la estructura ha alcanzado su capacidad máxima.
Función PilaLlena(tope, tamaño_maximo):
Si tope == tamaño_maximo - 1 Entonces
Retornar VERDADERO
Sino
Retornar FALSO
Fin Si
Fin FunciónFunción: PUSH (Insertar al tope)
Añade un nuevo dato en la parte superior de la pila, siempre que no haya desbordamiento.
Función Push(pila, tope, tamaño_maximo, dato_nuevo):
Si PilaLlena(tope, tamaño_maximo) == FALSO Entonces
tope = tope + 1
pila[tope] = dato_nuevo
Imprimir "Dato insertado: ", dato_nuevo
Sino
Imprimir "Error: Desbordamiento (Pila llena)"
Fin Si
Fin FunciónFunción: POP (Extraer del tope)
Elimina y retorna el elemento situado en el tope de la pila.
Función Pop(pila, tope):
Si PilaVacia(tope) == FALSO Entonces
dato_extraido = pila[tope]
tope = tope - 1
Retornar dato_extraido
Sino
Imprimir "Error: Pila vacía"
Retornar NULO
Fin Si
Fin FunciónFunción: PEEK o TOP (Ver sin extraer)
Permite consultar el valor del tope sin modificar la estructura.
Función Peek(pila, tope):
Si PilaVacia(tope) == FALSO Entonces
Retornar pila[tope]
Sino
Imprimir "La pila está vacía"
Retornar NULO
Fin Si
Fin FunciónOperaciones con Colas (Queues)
Función: ENCOLAR (Push / Insertar al final)
Inserta un elemento al final de la cola incrementando el contador de elementos.
Función Encolar(cola, final, cantidad_elementos, tamaño_maximo, dato_nuevo):
Si cantidad_elementos < tamaño_maximo Entonces
final = final + 1
cola[final] = dato_nuevo
cantidad_elementos = cantidad_elementos + 1
Imprimir "Se encoló: ", dato_nuevo
Sino
Imprimir "Error: La cola está llena"
Fin Si
Fin FunciónFunción: DESENCOLAR (Pop / Extraer del frente)
Extrae el elemento que se encuentra en el frente de la cola (lógica FIFO).
Función Desencolar(cola, frente, cantidad_elementos):
Si ColaVacia(cantidad_elementos) == FALSO Entonces
dato_atendido = cola[frente]
frente = frente + 1
cantidad_elementos = cantidad_elementos - 1
Retornar dato_atendido
Sino
Imprimir "Error: No hay elementos en la cola"
Retornar NULO
Fin Si
Fin FunciónOperaciones con Arreglos (Arrays)
Función: Buscar un elemento (Búsqueda Lineal)
Recorre el arreglo secuencialmente para localizar un valor específico.
Función Buscar(arreglo, tamaño_actual, valor_buscado):
Para i desde 0 hasta tamaño_actual - 1 Hacer:
Si arreglo[i] == valor_buscado Entonces
Retornar i // Retorna el índice
Fin Si
Fin Para
Retornar -1 // Retorna -1 si no existe en el arreglo
Fin FunciónFunción: Eliminar un elemento por su índice
Elimina un elemento desplazando los componentes restantes para mantener la integridad del arreglo.
Función EliminarElemento(arreglo, tamaño_actual, indice_a_eliminar):
Para i desde indice_a_eliminar hasta tamaño_actual - 2 Hacer:
arreglo[i] = arreglo[i + 1]
Fin Para
tamaño_actual = tamaño_actual - 1 // Reducimos el tamaño
Imprimir "Elemento eliminado correctamente."
Fin Función