Está en la página 1de 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/

También podría gustarte