Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "tp0.h"
- #include "stdio.h"
- /* ******************************************************************
- * FUNCIONES A COMPLETAR
- * *****************************************************************/
- /* swap() intercambia dos valores enteros.
- */
- void swap (int* x, int* y) {
- int i = *x;
- *x = *y;
- *y = i;
- }
- /* 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 mayor = 0;
- for (int i = 1;i < n;i++){
- if (vector[i] > vector[mayor]){
- mayor = i;
- }
- }
- return mayor;
- }
- /* 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 resultado;
- int largo;
- if (n1 > n2){
- largo = n2;
- resultado = 1;
- }
- else {
- largo = n1;
- resultado = -1;
- }
- for (int i = 0; i < largo; i++){
- if (vector1[i] > vector2[i]) {
- return 1;
- }
- else if (vector1[i] < vector2[i]){
- return -1;
- }
- }
- if (n1 == n2) {
- return 0;
- }
- else {
- return resultado;
- }
- }
- /* selection_sort() ordena el arreglo recibido mediante el algoritmo de
- * selección.
- */
- void seleccion(int vector[], int n) {
- for (int i = n; i > 0; i--){
- int pos_max = maximo(vector, i);
- int val_max = vector[pos_max];
- vector[pos_max] = vector[i - 1];
- vector[i - 1] = val_max;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement