You are on page 1of 3

METODOS DE ORDENACIÓN

DE ARREGLOS EN PSEINT
Ordenamiento de burbuja

El Ordenamiento de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de


ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada
con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es
necesario revisar varias veces toda la lista hasta que no se necesiten más
intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su
nombre de la forma con la que suben por la lista los elementos durante los
intercambios, como si fueran pequeñas “burbujas”.

También es conocido como el método del intercambio directo. Dado que solo usa
comparaciones para operar elementos, se lo considera un algoritmo de
comparación, siendo el más sencillo de implementar.

Nota: Los arreglos son en base 0.

Ejemplo código en PSeInt:

Proceso burbuja
Dimension vector[20];
Definir vector Como Entero;
Definir i,j,k,aux Como Entero;
Escribir "ordenar los numeros de un vector de forma
ascendente.";
Para i<-0 Hasta 19 Con Paso 1 Hacer
Escribir "ingrese el siguiente numero: ";
Leer vector[i];
FinPara
Para j<-1 Hasta 20 Hacer
Para k<-0 Hasta 19-j Hacer
Si vector[k]>vector[k+1] Entonces
aux<-vector[k];
vector[k]<-vector[k+1];
vector[k+1]<-aux;
FinSi
FinPara
FinPara
Para i<-0 hasta 19 Hacer
Escribir "posicion ",i," es: ",vector[i];
FinPara
FinProceso

Método de selección
El algoritmo de ordenación por selección procede encontrando el mayor elemento
del vector e intercambiando su posición con el último elemento. A continuación, se
repite el procedimiento sobre los elementos 1 … N-1, y así sucesivamente.

Ejemplo en PSeInt.

Proceso seleccion2
Dimension vector[10];
Definir vector Como Entero;
Definir i,c,aux,min Como Entero;
escribir "ordenar los numeros de un vector .";
Para i<-0 Hasta 9 Hacer
Escribir "ingrese el siguiente numero: ";
Leer vector[i];
FinPara
Para i<-0 hasta 8 hacer
min<-i;
Para c<-i+1 Hasta 9-i Hacer
Si vector[min]>vector[c] entonces
min<-c;
FinSi
aux<-vector[i];
vector[i]<-vector[min];
vector[min]<-aux;
FinPara
FinPara
Para i<-0 hasta 9 hacer
Escribir "posicion ",i," es: ",vector[i];
FinPara
FinProceso

Ordenamiento por inserción

Es una manera muy natural de ordenar para un ser humano, y puede usarse
fácilmente para ordenar un mazo de cartas numeradas en forma arbitraria.
Requiere O(n²) operaciones para ordenar una lista de n elementos.

Inicialmente se tiene un solo elemento, que obviamente es un conjunto ordenado.


Después, cuando hay k elementos ordenados de menor a mayor, se toma el
elemento k+1 y se compara con todos los elementos ya ordenados, deteniéndose
cuando se encuentra un elemento menor (todos los elementos mayores han sido
desplazados una posición a la derecha). En este punto se inserta el
elemento k+1 debiendo desplazarse los demás elementos.

Ejemplo en PSeInt:

Proceso sin_titulo
Dimension vector[10];
Definir vector Como Entero;
Definir i,j,aux Como Enteros;
Escribir "ordenar los numeros de un vector .";
Para i<-0 Hasta 9 Con Paso 1 Hacer
Escribir "ingrese el siguiente numero: ";
Leer vector[i];
finPara
Para i<-0 Hasta 9 Con Paso 1 Hacer
aux<-vector[i];
j<-i-1;
Mientras (j>=0) & (vector[j]>aux) Hacer
vector[j+1]<-vector[j];
j<-j-1;
FinMientras
vector[j+1]<-aux;
FinPara
Para i<-0 Hasta 9 Hacer
Escribir "posicion ",i," es: ",vector[i];
FinPara
FinProceso

Implementado desde código que se encuentra en


https://vectoradsi.wordpress.com/2012/11/29/metodos-de-ordenacion-de-vectores/

You might also like