Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Juan Ignacio Kristal - 99779
- * FUNCIONES A COMPLETAR
- * *****************************************************************/
- /* swap() intercambia dos valores enteros.
- */
- void swap (int* x, int* y) {
- int aux = *x;
- *x = *y;
- *y = aux;
- }
- /* maximo() busca el mayor elemento del arreglo y devuelve su posicion.
- * Si el vector es de largo 0, devuelve -1.
- */
- int maximo(int vector[], int n) {
- if(n == 0){
- return -1;
- }
- int maximo = vector[0];
- int pos = 0;
- for(int i=0; i < n; i++){
- if(maximo < vector[i]){
- maximo = vector[i];
- pos = i;
- }
- }
- return pos;
- }
- /* La función comparar recibe dos vectores y sus respectivas longitudes
- * y devuelve -1 si el primer vector es menor que el segundo; 0 si son
- * iguales; y 1 si el segundo es menor.
- *
- * Un vector es menor a otro cuando al compararlos elemento a elemento,
- * el primer elemento en el que difieren no existe o es menor.
- */
- int comparar(int vector1[], int n1, int vector2[], int n2) {
- int i;
- int j;
- for(i = 0, j = 0; i < n1 && j < n2; i++, j++){
- if(vector1[i] < vector2[j]){
- return -1;
- }
- else if(vector2[j] < vector1[i]){
- return 1;
- }
- }
- if(n2 < n1){
- return 1;
- }
- else if(n1 < n2){
- return -1;
- }
- return 0;
- }
- /* selection_sort() ordena el arreglo recibido mediante el algoritmo de
- * selección.
- */
- void seleccion(int vector[], int n) {
- int long_aux = n-1;
- while(0<long_aux){
- int pos_max = maximo(vector, long_aux);
- swap(&vector[long_aux], &vector[pos_max]);
- long_aux-=1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement