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.