Dev - C++ - busqueda binaria recursiva

 
Vista:

busqueda binaria recursiva

Publicado por adriana (2 intervenciones) el 20/11/2002 23:27:01
porfa..si alguien sabe como hacer el codigo de busqueda binaria recursiva en c++ con arreglos o listas se los agradeceria mucho..gracias!!
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

busqueda binaria recursiva

Publicado por Cesar alejandro (1 intervención) el 25/06/2010 03:57:16
por favor me urge el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:busqueda binaria recursiva

Publicado por adrii (tocasha) (1 intervención) el 05/03/2008 03:55:28
//ay amiga ps no es recursiva pero espero q te sirva!!!

#include<iostream>
#include<conio.h>
#include<stdio.h>

#define TAM 10

using namespace std;

class ARRAY
{
int array[TAM];
public:
int tam;
int a_buscar;
//metodos
public:
void scan(void);
void ordenar(void);
void cambio(int,int);
int buscar(int,int);
void print(void);
};

void ARRAY::scan(void)
{
do
{
tam=TAM;
system("cls");
cout<<"Cuantos numeros quieres introducir?";
cout<<" --> ";
cin>>tam;
}while(tam<=0||tam>TAM);
cout<<endl
<<endl;
for(int cont=0;cont<tam;cont++)
{
cin>>array[cont];
}
}

void ARRAY::ordenar(void)
{
int cont1,mayor;
for(int cont2=0;cont2<tam;cont2++)
{
mayor=0;
for(cont1=0;cont1<tam-cont2;cont1++)
{
if(array[cont1]>array[mayor])
{
mayor=cont1;
}
}
cambio(mayor,tam-cont2-1);
}
cout<<endl;
getch();
}

void ARRAY::cambio(int var1,int var2)
{
int temp;
temp=array[var1];
array[var1]=array[var2];
array[var2]=temp;
}

int ARRAY::buscar(int inicio,int fin)
{
int mitad=(inicio+fin)/2;
if(a_buscar==array[mitad])
cout<<array[mitad];
else
if(a_buscar<array[mitad])
return buscar(inicio,mitad);
else
if(a_buscar>array[mitad])
return buscar(mitad,fin);
else
cout<<" Numero no encontrado =(";
return -1;
}

void ARRAY::print(void)
{
for(int cont=0;cont<tam;cont++)
{
cout<<array[cont];

}
cout<<endl;

}

main()
{
int a;
ARRAY x;
x.scan();
x.print();
x.ordenar();
cout<<" Numero a buscar= ";
cin>>x.a_buscar;
a=x.buscar(0,x.tam);

cout<<" Numero Encontrado";
cout<<endl;
system("pause");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:busqueda binaria recursiva

Publicado por roberto osorio cruz (1 intervención) el 09/09/2009 16:34:01
no seas pendeja borland hace todo eso y mas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:busqueda binaria recursiva

Publicado por luis santiago lopez (1 intervención) el 09/09/2009 16:40:08
hola estima amiga! la solucion es muy simple, solo debes delarar ciertos macros de manera global y crear tu arreglo de igaul forma, crear la funcion de busqueda recursiva en el cual la ida base sera dividir el numero de tu arreglo en 2 y comparar si esta el numeor q buscas de ser asi vuelves llamar la funcion peor modificando los valores de referencia dde tu arreglo , d elo contrario mandas a llamar tu funcion dandole nuevos valores de posiconamineto! LISTO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar