Skip to content

Instantly share code, notes, and snippets.

@alexchristianqr
Last active September 6, 2022 04:20
Show Gist options
  • Save alexchristianqr/fc286d485f9bddb4715589f854461f1f to your computer and use it in GitHub Desktop.
Save alexchristianqr/fc286d485f9bddb4715589f854461f1f to your computer and use it in GitHub Desktop.
Algoritmo OrdenamientoPorBurbuja
// Número de posiciones en un arreglo
N <- 10
// Declarar variables de tipo arreglo
Dimension arregloDesordenado(N)
Dimension arregloOrdenado(N)
// Ejecutar subprocesos
CargarArreglo(arregloDesordenado,arregloOrdenado,N)
OrdenarPorBurbuja(arregloOrdenado,N)
MostrarArreglo(arregloDesordenado,arregloOrdenado,N)
FinAlgoritmo
SubAlgoritmo CargarArreglo(arregloDesordenado,arregloOrdenado,N)
Definir indice Como Entero
indice <- 1// Inicializar el indice en 1
// Iterar
Para i <- 1 Hasta N Hacer
// Obtener un número aleatorio entre 1-20
numeroAzar <- Aleatorio(1,20)
// Agregar en cada posición del arreglo el número aleatorio obtenido
arregloOrdenado(indice) <- numeroAzar // Lista de números desordenados que serán ordenados
arregloDesordenado(indice) <- numeroAzar// Lista temporal de números desordenados
// Sumarle 1 al indice
indice = indice+1
Fin Para
FinSubAlgoritmo
SubAlgoritmo OrdenarPorBurbuja(arregloOrdenado,N)
Repetir
indice <- 0
// Iterar
Para i <- 2 Hasta N Hacer
// Actualizar la variable que tiene una posición siguiente
siguientePosicion <- i
// Actualizar la variable que tiene una posición anterior
anteriorPosicion <- i-1
// Validar si los dos valores estan ordenados
Si arregloOrdenado[anteriorPosicion] > arregloOrdenado[siguientePosicion] Entonces
// Guardar valor clave
clave <- arregloOrdenado[anteriorPosicion]
// Actualizar el valor de la posición anterior con el valor de la posicion siguiente
arregloOrdenado[anteriorPosicion] <- arregloOrdenado[siguientePosicion]
// Actualizar un valor del arreglo por el valor clave
arregloOrdenado[siguientePosicion] <- clave
indice <- siguientePosicion
FinSi
FinPara
Hasta Que indice = 0
FinSubAlgoritmo
SubAlgoritmo MostrarArreglo(arregloDesordenado,arregloOrdenado,N)
// Pintar primer arreglo
Escribir "Arreglo desordenado:"
Para i <- 1 Hasta N
Escribir Sin Saltar arregloDesordenado(i), " "
Fin Para
Imprimir ""
Imprimir "--"
// Pintar segundo arreglo
Escribir "Arreglo ordenado:"
Para i <- 1 Hasta N
Escribir Sin Saltar arregloOrdenado(i), " "
Fin Para
Imprimir ""
Imprimir "--"
FinSubAlgoritmo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment