• Jueves 14 de Noviembre de 2024, 04:19

Autor Tema:  Re: Como hago una buskeda en un array?  (Leído 1640 veces)

kurko

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
    • http://www.kurko.tk
Re: Como hago una buskeda en un array?
« en: Sábado 19 de Abril de 2003, 21:16 »
0
la idea del programa es guardar una tabla con la informacion de 50 personas (nombre y apellido). esta informacion la ingresa el usuario. luego de haberse llenado todos los vectores con todos los datos de las 50 personas, debo darle al usuario la posibilidad de buscar sus datos por nombre o por apellido, es decir, ke la pesona ingrese su nombre y luego aparezca en pantalla, su nombre y su apellido.
la busqueda en el array es lo ke no tengo claro. por favor ayudenme
gracias.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Como hago una buskeda en un array?
« Respuesta #1 en: Sábado 19 de Abril de 2003, 22:23 »
0
simple:
:)
un alghoritmo que recorra lamlista desde el primer nodo hasta encontrar el dato solicitado:
 
Código: Text
  1.  
  2. while(lista->dato!= datosolicitado)
  3. {
  4.    lista=lista->sig;
  5. }
  6. //si sale del ciclo lo encontro
  7.  
  8. /*hay que tener encuenta que se puede recorrer toda la lista sin encontrarlo  entonces..*/
  9. while(lista->dato!= datosolicitado &&  lista-> != NULL)
  10. {
  11.    lista=lista->sig;
  12. }
  13. ....
  14.  
  15.  
trabajoso.... pero efectivo
B)
hay varios metodos de busqueda en listas, busca por internet... es algo parecido a los metodos de ordenamiento, la ventaja es que en listas muy grandes estos algorimos disminuyen notablemente el tiempo de busqueda, ya que de 1 en 1 es muy ineficiente, más cuando el dato que buscas es el ultimo.

suerte...

Juank
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Como hago una buskeda en un array?
« Respuesta #2 en: Sábado 19 de Abril de 2003, 22:31 »
0
bueno, deje el comentario anterior porque te podria servir, sij nembargo creo que tunecesitas esommismo pero en arrays estaticos cierto?
 
Código: Text
  1.  
  2. while(lista[i]!= datosolicitado)
  3.       i++;
  4. //si sale del ciclo lo encontro
  5.  
  6. /*hay que tener encuenta que se puede recorrer toda la lista sin encontrarlo entonces..*/
  7. #define MAXITEMS 10
  8.  
  9. int main()
  10. {
  11.     int lista [MAXITEMS] ;
  12.     while(lista[i]!= datosolicitado && i< MAXITEMS)
  13.         i++;
  14. .
  15. .
  16. }
  17.  
  18.  
espero que esto tambien te sea de ayuda.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

kurko

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
    • http://www.kurko.tk
Re: Como hago una buskeda en un array?
« Respuesta #3 en: Domingo 20 de Abril de 2003, 01:39 »
0
gracias juank y disculpa.
me sirvió creo tu ayuda.

Ciudad Nocturna

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
    • http://www.ciudadnocturna.tk
Como hago una buskeda en un array?
« Respuesta #4 en: Domingo 4 de Mayo de 2003, 19:16 »
0
Yo personalmente si el array es muy grande te recomendaría el algoritmo de la busqueda binaria, el cual es muchisimo más efectivo que la tipica busqueda secuencial en la cual tienes que recorrer el array completo.

Si quieres el código te lo puedes descargar de  esta web: www.ciudadnocturna.tk

Un saludo.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
IberMap Software