Metodos Ordenamiento C

Páginas: 9 (2166 palabras) Publicado: 10 de septiembre de 2015
Métodos de Ordenamiento
Muchas veces es necesario además de buscar elementos dentro de en un vector,
ordenarlos. El ordenamiento puede ser de mayor a menor si se están manejando números y
en orden alfabético si se trata de nombres o caracteres. Existe una gran variedad de
métodos de ordenamiento que nos permiten organizar con rapidez los elementos que se
encuentran dentro de un vector o archivo.La elección de un determinado método de
ordenamiento depende de el tamaño del vector que se desea ordenar.
Entre los métodos de ordenamiento mas populares encontramos: Burbuja, Intercambio,
selección, shell, quick-sort, etc. Para entender el concepto de los métodos de ordenamiento
en este documento se desarrollara un ejercicio, en donde se implementan tres de los
métodos mencionados para ordenarun vector de números enteros.
Método de ordenamiento por Burbuja:
Este método consiste en comparar los elementos del arreglo que se encuentran en
posiciones adyacentes empezando desde la primera posición y llegando hasta el final del
arreglo. La comparación dependerá si estamos ordenando el arreglo en forma ascendente o
descendente. Para el caso de ordenamiento ascendente (de menor a mayor) secompara
cada elemento con el que le sigue inmediatamente usando el operador mayor que (>).
Si el elemento de la posición de la izquierda es mayor que el elemento de la posición que le
sigue a su derecha, entonces los dos elementos están mal ubicados y procedemos a
intercambiarlos de posición.
El proceso empieza entonces comparando los elementos de la posiciones 1 y 2 del vector,
haciendo elintercambio si es preciso. Luego se comparan los elementos de las posiciones 2
y 3 y se procede de igual manera.
Seguidamente se comparan los elementos de las posiciones restantes del vector y se
realiza el intercambio si es necesario. Se continua así hasta comparar los elementos de las
ultimas dos posiciones. Al llegar a este punto resulta que el valor mayor del arreglo quedara
ubicado en la últimaposición del mismo, es decir estará en su posición correcta.
El proceso se repite de nuevo iniciando otra vez desde la posición 1 del vector, pero
teniendo en cuenta que como ya acomodamos en la posición correcta el mayor elemento, la
ultima comparación que se hará será entre los elementos de las posiciones penúltima y
antepenúltima. Es decir, que reducimos en uno el número de comparaciones hechas paraacomodar el primer elemento.
Implementación del método que intercambia los elementos de dos posiciones del vector,
este método se utilizara para mostrar la implementación de los otros dos métodos de
ordenamiento:

void MetodosOrdenamiento::cambiar(int p1, int p2){
int temp;
temp = Vector[p1];
Vector[p1] = Vector[p2];
Vector[p2] = temp;
}

Implementación del método de ordenamiento Burbuja, estemétodo compara elementos de
la forma j,j+1. Es decir compara dos posiciones seguidas o continuas del vector:
void MetodosOrdenamiento::ordenarBurbuja(){
//Variables que controlan los ciclos que recorren el vector para comparar e intercambiar los elementos (i y j).
int i, j;
for (i=0; i<=getTamano()-1; i++){
for (j=0; j<=(getTamano()-i)-2; j++){
//Ordeno de menor a mayor, si se quiere hacer de mayor amenor simplemente cambie el signo, aquí se
//compara si el elemento de la izquierda (j) es mayor que el elemento contiguo de la derecha (j+1).
//Si se cumple la condición los intercambia.
if (getVector(j) > getVector(j+1)){
cambiar(j, j+1); //Para hacer el intercambio en los elementos se llama al método cambiar.
}
}
}
}

Método de Ordenamiento Por Intercambio:
El método de intercambio es uno de losmas sencillos de comprender e implementar, pero
así mismo uno de los menos eficientes. El trabajo que hace este método para ordenar un
arreglo consiste en comparar cada elemento del arreglo con todos los que le siguen, es
decir con aquellos que ocupan posiciones mayores que el, osea los que están a su derecha.
Si los elementos que se comparan no están en el orden adecuado entonces se procede...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos de ordenamiento y busqueda en c++
  • Métodos de Ordenamiento y Búsqueda C#
  • Ordenamiento por el método raíz en C++
  • Ordenamiento c++
  • metodos de ordenamiento
  • Metodos de ordenamiento
  • MÉTODOS DE ORDENAMIENTO
  • Métodos De Ordenamiento

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS