Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2007, 07:27
fernandodl
 
Fecha de Ingreso: enero-2002
Mensajes: 14
Antigüedad: 23 años
Puntos: 0
Pregunta Buscar secuencia de caracteres en lista enlazada, problema

Hola,

tengo una lista posicional (l) con cada nodo conteniendo un caracter.

tengo otra lista posicional (sec) con cada nodo conteniendo un caracter.

Necesito buscar en la lista (l) la secuencia de caracteres que tiene mi lista secundaria (sec).

Para ello, he creado esta funcion que devuelve TRUE si se encuentra la secuencia de caracteres en la lista (l).

Código:
bool Buscar(const TListaPos l, const TListaPos sec)
{
     char baseletra, secletra;
     int NumMuestras, NumSecuencia, i=1, j=1, contiguales=0;
     bool existe=false, cont=true;
     
     NumMuestras=LongitudListaPos(l);
     NumSecuencia=LongitudListaPos(sec);
     
    while ((i!=NumMuestras)&&(contiguales<NumSecuencia)){
       
        baseletra=VerElemListaPos(l,i);
        secletra=VerElemListaPos(l,j);
        if(baseletra==secletra){           
           j++; i++;
           contiguales++;                   
        } else {
           j=1;
           if(i==1){i++;} else{i=i;}
           contiguales=0;           
        }         
    }
    if(contiguales==NumSecuencia){existe=true;}

    return existe;
}

Esta funcion siempre me devuelve TRUE se encuentre o no la secuencia de caracteres en la lista original... ¿Que estoy haciendo mal???

Cualquier pista, se agradece.

Última edición por fernandodl; 07/05/2007 a las 12:08