[C con Clase] ayuuda con bucketsort
Programante
programante en gmail.com
Dom Sep 2 19:56:40 CEST 2007
German Ponce escribió:
> no se porque el siguiente algoritmo no me ejecuta bien de repente se
> cae y tengo que cerrarlo, puede que sea problemas con los punteros ,
> pero no puedo encontrar a es error ¿me prodrian ayudar?
>
> while(temp!=NULL) //move till the appropriate
> position in the bucket
> {
> if(temp->value>array[j])
> break;
> pre=temp;
> temp=temp->next;
> }
> if(temp->value>array[j]) //if the new value is in
> betwen or at the begining
> {
Puedes salir del bucle while por dos condiciones. Que temp sea null, o
que temp->value > array[j]. A continuación realizas un if para saber el
motivo.
El problema está en que si temp es NULL, no puedes comprobar temp->value
> array[j], ya que para saber temp->value intenta dereferenciar un
puntero nulo.
Sugiero cambiar la condición del if por if (temp!=NULL), en cuyo caso
ya funciona :-)
Más información sobre la lista de distribución Cconclase