Título: AYUDA metodo de ordenamiento selccion Publicado por: lecxe en 18 Diciembre 2011, 20:38 pm holaa un saludo para esta comunidad. bueno soy nuevo por aca y andaba tratando de entener metodo de seleccion, busque en internet algunos algoritmos encontre uno basico creo, pero ese pos_men no se que hondaa, nadamas habia trabajado con burbuja, pero este es nuevo para mii. cualquier ayuda para hacer correr el algoritmo Gracias!
void seleccion (int arreglo[], int TAM) { int i; int temp, pos_men; for (i=0; i<TAM - 1; i++) { /* Buscamos el elemento menor */ pos_men = menor(arreglo, i, TAM); /* coloca donde corresponde */ temp = arreglo; arreglo = arreglo [pos_men]; arreglo [pos_men] = temp; } } int menor (int arreglo[], int desde, int TAM) { int i, menor; menor = desde++; for (i=desde; i<TAM; i++) if (arreglo < arreglo[menor]) menor = i; return menor; } :rolleyes: Título: Re: AYUDA metodo de ordenamiento selccion Publicado por: naderST en 18 Diciembre 2011, 20:45 pm Aquí te dejo un enlace a wikipedia para que veas como funciona:
http://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n (http://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n) Título: Re: AYUDA metodo de ordenamiento selccion Publicado por: eltongabinghiman en 18 Diciembre 2011, 21:26 pm La idea del Selection Sort es ordenar un arreglo, manteniendo el arreglo ordenado del lado izquierdo, y el desordenado del lado derecho (o como más te guste).
A medida que el algoritmo avanza, el tamaño de la parte ordenada va creciendo, y el de la parte desordenada decreciendo. Un seudocódigo podría ser el siguiente: Código: SelectionSort( array desordenado, largo de array ) -> array ordenado Como verás se busca el elemento más chico (se guarda su posición en pos_men) y se inserta en el primer lugar, luego entre los que quedan por ordenar se busca el más chico y se inserta en el segundo lugar, así hasta el anteúltimo elemento. El último elemento quedará automáticamente ordenado en su lugar. Si N es el largo del array, para insertar el primer elemento se hacen N-1 comparaciones, para el segundo N-2 y así sucesivamente hasta 1. Por lo que en total se hacen (N-1 + N-2 + N-3 +...+ 2 + 1) comparaciones, o lo que es lo mismo la sumatoria de los primero N-1 naturales, cuyo valor es: N(N-1)/2 Espero se haya entendido. Saludos. |