Advertisement
Guest User

Untitled

a guest
May 6th, 2014
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #define max_Size 100
  3. #define max_value 100
  4. #include<stdlib.h>
  5. #include <time.h>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. void ordenar(int [], int);
  11. int maximo(int []);
  12.  
  13. int busquedaBinaria(const int [], int );
  14. int busquedaLineal(int [], int );
  15.  
  16.  
  17. int i, cont;
  18. int main()
  19. {
  20.  
  21.     int data[max_value];
  22.  
  23.     srand(time(NULL));
  24.     for(int c=0; c<max_value; c++){
  25.         int num=1+rand()%(1000-1);
  26.         data[c]=num;
  27.         }
  28.  
  29.  
  30. //Ordenar lso primeros 4 numeros de un arreglo
  31.  
  32.     ordenar(data,4);
  33.  
  34.     cout<<"Ordenar 4 numeros"<<endl;
  35.     for (i=0; i<max_value;i++)
  36.       cout<<data[i]<<endl;
  37.  
  38.  
  39.     cout<<endl<<"El numero maximo del arreglo anterior es:"
  40.             <<maximo(data)<<endl;
  41.  
  42.  
  43.  
  44.      ordenar(data,100);
  45.     cout<<endl<<"Busqueda Lineal:   "
  46.         <<busquedaLineal(data,13)<<"    Intercambios"<<endl;
  47.  
  48.     cout<<endl<<"Busqueda Binaria:   "
  49.         <<busquedaBinaria(data, 25)<<"    Intercambios"<<endl;
  50.  
  51.  
  52.     return 0;
  53. }
  54.  
  55. void ordenar(int arreglo[], int num){
  56.  
  57.         for (int i=0; i<num;i++)      //K O(n)
  58.             for (int j=i+1;j<num;j++)      //K O(n)
  59.                 if (arreglo[i]>arreglo[j]) {
  60.                   int temp=arreglo[i];
  61.                   arreglo[i] = arreglo[j];
  62.                   arreglo[j] = temp;
  63.                   }
  64. }
  65.  
  66. int maximo(int arreglo[]){
  67.     int maxi;
  68.  
  69.     maxi=arreglo[0];
  70.  
  71.     for(int i=1; i<max_value; i++)
  72.         if (maxi<arreglo[i])
  73.             maxi=arreglo[i];
  74.  
  75.     return maxi;
  76.  
  77. }
  78.  
  79. int busquedaLineal(int arreglo[], int value){
  80.     cont=0;
  81.       for (int i = 0; i<max_value ; i++){
  82.         if (arreglo[i] == value) return cont;
  83.                     cont++;
  84.       }
  85.             return cont;
  86. }
  87.  
  88. int busquedaBinaria(const int arreglo[], int clave){
  89.     int Iarriba = max_value-1;
  90.     int Iabajo = 0;
  91.     int Icentro;
  92.     cont=0;
  93.     while (Iabajo <= Iarriba)
  94.     {
  95.         Icentro = (Iarriba + Iabajo)/2;
  96.         if (arreglo[Icentro] == clave)
  97.         return cont;
  98.         else
  99.         if (clave < arreglo[Icentro])
  100.         Iarriba=Icentro-1;
  101.         else
  102.         Iabajo=Icentro+1;
  103.  
  104.         cont++;
  105.     }
  106.   return cont;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement