Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX_ELEM 10
- int binary_search_iterative(int A[], int ini, int fin, int key){
- while (ini<=fin){
- int medio = (ini+fin)/2;
- if (A[medio] == key)
- return medio;
- else{
- if (key < A[medio])
- fin = medio-1;
- else
- ini = medio+1;
- }
- }
- return -1;
- }
- int binary_search_recursive(int A[], int ini, int fin, int key){
- if (ini<=fin){
- int medio = (ini+fin)/2;
- if (A[medio] == key)
- return medio;
- else{
- if (key < A[medio])
- return binary_search_recursive(A, ini, medio-1, key);
- else
- return binary_search_recursive(A, medio+1, fin, key);
- }
- }
- return -1;
- }
- int main(int argc, char** argv) {
- int A[MAX_ELEM] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
- int key = 4;
- int index;
- //index = binary_search_recursive(A, 0, MAX_ELEM-1, key);
- index = binary_search_iterative(A, 0, MAX_ELEM-1, key);
- if (index!=-1)
- printf("Encontrado en %d\n", index);
- else
- printf("No encontrado");
- return (EXIT_SUCCESS);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement