Java - Búsqueda lineal y búsqueda binaria

 
Vista:

Búsqueda lineal y búsqueda binaria

Publicado por Hilary (1 intervención) el 16/11/2014 04:53:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <stdlib.h>
#include "quicksort.cpp"
 
using namespace std;
 
int lineal_search(int *array, int searched, int arraySize)
{
    for (int i = 0; i< arraySize; i++) {
        if (searched == array[i]) {
            cout << "Se encuentra en la posicion " << i + 1 << endl;
        }
   }
}
 
int binary_search(int *array, int searched, int arraySize)
{
    int first = 0;
    int middle;
    int last = arraySize - 1;
 
    while (first <= last) {
        middle = (first + last) / 2;
 
        if (searched == array[middle]) {
            cout << "Se encuentra en la posición " << middle + 1 << endl;
            return array[middle];
        } else {
            if (array[middle] > searched) {
                last = middle - 1;
            } else {
                first = middle + 1;
            }
        }
    }
    return -1;
}
 
void print(int *array, int arraySize)
{
   for (int i = 0; i < arraySize; i++) {
        cout << array[i] << "  ";
   }
   cout << endl << endl;
}
 
int main()
{
    int arraySize;
    int searched;
    cout << "Ingresa el tamanyo del array" << endl;
    cin >> arraySize;
 
    int array[arraySize];
 
    srand(time(NULL));
    for (int i = 0; i < arraySize; i++) {
        array[i] = rand() % 100;
    }
 
    cout << endl;
    cout << "Array al inicio: " << endl;
    print(array, arraySize);
 
    cout << "Busqueda lineal -> Ingresa el elemento a buscar: ";
    cin >> searched;
    lineal_search(array, searched, arraySize);
 
    cout << "Array ordenado: " << endl;
    quicksort(array, 0, arraySize);
    print(array, arraySize);
 
    cout << "Busqueda binaria -> Ingresa el elemento a buscar: ";
    cin >> searched;
    binary_search(array, searched, arraySize);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder