SlideShare una empresa de Scribd logo
1 de 2
Busqueda lineal y Busqueda binaria.
La búsqueda lineal probablemente es sencilla de implementar e intuitiva. Básicamente consiste
en buscar de manera secuencial un elemento, es decir, preguntar si el elemento buscado es
igual al primero, segundo, tercero y así sucesivamente hasta encontrar el deseado.
La búsqueda binaria consiste en la siguiente idea: se va dividiendo el arreglo en mitades. Por
ejemplo supongamos que tenemos este vector:
int vector[10] = {2,4,6,8,10,12,14,16,18,20};
La clave que queremos buscar es 6. El algoritmo funciona de la siguien manera
1. Se determinan un indice arriba y un indice abajo, Iarriba=0 e Iabajo=9
respectivamente.
2. Se determina un indice central, Icentro = (Iarriba + Iabajo)/2, en este caso
quedaría Icentro = 4.
3. Evaluamos si vector[Icentro] es igual a la clave de busqueda, si es igual ya
encontramos la clave y devolvemos Icentro.
4. Si son distintos, evaluamos si vector[Icentro] es mayor o menos que la clave, como
el arreglo está ordenado al hacer esto ya podemos descartar una mitad del arreglo
asegurandonos que en esa mitad no está la clave que buscamos. En nuestro
caso vector[Icentro] = 4 < 6, entonces la parte del arreglo vector[0...4] ya
puede descartarse.
5. Reasignamos Iarriba o Iabajo para obtener la nueva parte del arreglo en donde
queremos buscar. Iarriba, queda igual ya que sigue siendo el tope. Iabajo lo tenemos
subir hasta 5, entonces quedaria Iarriba = 9, Iabajo = 5. Y volvemos al paso 2.
Si la clave no fuese encontrada en algun momento Iabajo > Iarriba, con un while vamos a
controlar esta condición para salir del ciclo en tal caso y devolver -1 (clave no encontrada).
#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);
}

Más contenido relacionado

La actualidad más candente

Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
eliezerbs
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)
edi.euitio
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacion
JONY21
 
Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)
edi.euitio
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
lichic
 

La actualidad más candente (18)

Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Ejercicios prolog
Ejercicios prologEjercicios prolog
Ejercicios prolog
 
Quicksort
QuicksortQuicksort
Quicksort
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
 
Programación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia ArtificialProgramación en Prolog para Inteligencia Artificial
Programación en Prolog para Inteligencia Artificial
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)
 
Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)Tablas hash(Margarita Arias Pérez)
Tablas hash(Margarita Arias Pérez)
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
Algoritmo de quicksort
Algoritmo de quicksortAlgoritmo de quicksort
Algoritmo de quicksort
 
Algoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacionAlgoritmos de ordenacion_implementacion
Algoritmos de ordenacion_implementacion
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )Tabla Hash ( Andrea Bedia Suarez )
Tabla Hash ( Andrea Bedia Suarez )
 
Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)Tablas Hash (Verónica Martínez García)
Tablas Hash (Verónica Martínez García)
 
Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)Tablas hash(Mónica Fernández Flores)
Tablas hash(Mónica Fernández Flores)
 
Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)Tablas Hash (Leticia Gutiérrez Sánchez)
Tablas Hash (Leticia Gutiérrez Sánchez)
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Algoritmos De Ordenacion
Algoritmos De OrdenacionAlgoritmos De Ordenacion
Algoritmos De Ordenacion
 

Destacado

Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
ITCV
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
Javier Alvarez
 
Presentación1
Presentación1Presentación1
Presentación1
cipq
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
lexar4203
 

Destacado (20)

Archivo logico
Archivo logicoArchivo logico
Archivo logico
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Presentación1
Presentación1Presentación1
Presentación1
 
CARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE CCARACTERES Y CADENAS LENGUAJE C
CARACTERES Y CADENAS LENGUAJE C
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Ordenamiento por seleccion
Ordenamiento por seleccionOrdenamiento por seleccion
Ordenamiento por seleccion
 
Método Burbuja
Método BurbujaMétodo Burbuja
Método Burbuja
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Método de ordenamiento shell
Método de ordenamiento shellMétodo de ordenamiento shell
Método de ordenamiento shell
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuenciales
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativa
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Archivo secuencial-indexado
Archivo secuencial-indexadoArchivo secuencial-indexado
Archivo secuencial-indexado
 

Similar a Busqueda lineal y busqueda binaria

UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
Maiky Kobatakane
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
luis freddy
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
luis freddy
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
Francisco Lambert Obediente
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
Francisco Lambert Obediente
 
Clase6 collections
Clase6 collectionsClase6 collections
Clase6 collections
jorg_marq
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
Enrique Y Ch
 

Similar a Busqueda lineal y busqueda binaria (20)

Java
JavaJava
Java
 
concepto de estructuras de datos
concepto de estructuras de datosconcepto de estructuras de datos
concepto de estructuras de datos
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptx
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a Objetos
 
Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime
 
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
3 desarollo manejo datos capitulo 2 -02 operaciones arreglos dos dime (3)
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)Jyoc java-cap04 vectores (arrays)
Jyoc java-cap04 vectores (arrays)
 
Clase6 collections
Clase6 collectionsClase6 collections
Clase6 collections
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 

Último (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 

Busqueda lineal y busqueda binaria

  • 1. Busqueda lineal y Busqueda binaria. La búsqueda lineal probablemente es sencilla de implementar e intuitiva. Básicamente consiste en buscar de manera secuencial un elemento, es decir, preguntar si el elemento buscado es igual al primero, segundo, tercero y así sucesivamente hasta encontrar el deseado. La búsqueda binaria consiste en la siguiente idea: se va dividiendo el arreglo en mitades. Por ejemplo supongamos que tenemos este vector: int vector[10] = {2,4,6,8,10,12,14,16,18,20}; La clave que queremos buscar es 6. El algoritmo funciona de la siguien manera 1. Se determinan un indice arriba y un indice abajo, Iarriba=0 e Iabajo=9 respectivamente. 2. Se determina un indice central, Icentro = (Iarriba + Iabajo)/2, en este caso quedaría Icentro = 4. 3. Evaluamos si vector[Icentro] es igual a la clave de busqueda, si es igual ya encontramos la clave y devolvemos Icentro. 4. Si son distintos, evaluamos si vector[Icentro] es mayor o menos que la clave, como el arreglo está ordenado al hacer esto ya podemos descartar una mitad del arreglo asegurandonos que en esa mitad no está la clave que buscamos. En nuestro caso vector[Icentro] = 4 < 6, entonces la parte del arreglo vector[0...4] ya puede descartarse. 5. Reasignamos Iarriba o Iabajo para obtener la nueva parte del arreglo en donde queremos buscar. Iarriba, queda igual ya que sigue siendo el tope. Iabajo lo tenemos subir hasta 5, entonces quedaria Iarriba = 9, Iabajo = 5. Y volvemos al paso 2. Si la clave no fuese encontrada en algun momento Iabajo > Iarriba, con un while vamos a controlar esta condición para salir del ciclo en tal caso y devolver -1 (clave no encontrada). #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) {
  • 2. 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); }