Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. Juan Ignacio Kristal - 99779
  2.  
  3. * FUNCIONES A COMPLETAR
  4. * *****************************************************************/
  5.  
  6. /* swap() intercambia dos valores enteros.
  7. */
  8. void swap (int* x, int* y) {
  9. int aux = *x;
  10. *x = *y;
  11. *y = aux;
  12. }
  13.  
  14. /* maximo() busca el mayor elemento del arreglo y devuelve su posicion.
  15. * Si el vector es de largo 0, devuelve -1.
  16. */
  17. int maximo(int vector[], int n) {
  18. if(n == 0){
  19. return -1;
  20. }
  21. int maximo = vector[0];
  22. int pos = 0;
  23. for(int i=0; i < n; i++){
  24. if(maximo < vector[i]){
  25. maximo = vector[i];
  26. pos = i;
  27. }
  28. }
  29. return pos;
  30. }
  31.  
  32. /* La función comparar recibe dos vectores y sus respectivas longitudes
  33. * y devuelve -1 si el primer vector es menor que el segundo; 0 si son
  34. * iguales; y 1 si el segundo es menor.
  35. *
  36. * Un vector es menor a otro cuando al compararlos elemento a elemento,
  37. * el primer elemento en el que difieren no existe o es menor.
  38. */
  39. int comparar(int vector1[], int n1, int vector2[], int n2) {
  40. int i;
  41. int j;
  42. for(i = 0, j = 0; i < n1 && j < n2; i++, j++){
  43. if(vector1[i] < vector2[j]){
  44. return -1;
  45. }
  46. else if(vector2[j] < vector1[i]){
  47. return 1;
  48. }
  49. }
  50. if(n2 < n1){
  51. return 1;
  52. }
  53. else if(n1 < n2){
  54. return -1;
  55. }
  56. return 0;
  57. }
  58.  
  59. /* selection_sort() ordena el arreglo recibido mediante el algoritmo de
  60. * selección.
  61. */
  62. void seleccion(int vector[], int n) {
  63. int long_aux = n-1;
  64. while(0<long_aux){
  65. int pos_max = maximo(vector, long_aux);
  66. swap(&vector[long_aux], &vector[pos_max]);
  67. long_aux-=1;
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement