• Viernes 15 de Noviembre de 2024, 08:42

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - el_indio_de_lomas

Páginas: [1]
1
C/C++ / Consultas
« en: Viernes 15 de Abril de 2005, 19:33 »
Existen en la libreria stdlib.h dos funciones cuyo nombre son bsearch y qsort para realizar una busqueda de un elemente en un vector y ordenar un vector respectivamente.
Lo que intento hacer es realizar my propia version de las dos (por un pedido que me hicieron )respetando los prototipos de las originales. Cuando intente hacer la primera me fije que uno de los parametros es const void *base, por ejemplo. Yo queria saber como se manejas estos tipos de parametros??
Yo estaba haciendo esto:  

Código: Text
  1.  
  2. void * mybsearch(const void *key,const void* base,size_t nmemb,size_t size,int(*compare)(const void*,const void *)){
  3.  
  4. int mitad;
  5.  
  6.   if (!base)
  7.     {
  8.     mitad=nmemb/size/2;
  9.  
  10.     if ((*compare)(base[mitad],key)==0) /*/
  11.       return base;
  12.     else if ((*compare)(base[mitad],key)< 0)
  13.           bsearch(key,base,size*mitad,size,comparar);
  14.         else
  15.           bsearch(key,base[mitad],size*mitad,size,comparar); /*/
  16.     }
  17.   return NULL;
  18.  
  19. }
  20.  
  21.  
Y lo que estan /*/ es donde da error y es donde tengo la duda

Y otra consulta es si hay alguna forma de saber cuantos bit entra en un byte, a traves de alguna funcion??

Desde ya muchas gracias

Páginas: [1]