Red de conocimiento informático - Aprendizaje de programación - Programación de kilómetros

Programación de kilómetros

Echa un vistazo al código:

#Contiene? ltstdio.h gt

#¿Contiene? ltstdlib.h gt

#¿Incluir? ltstring.h gt

int? is_sub_str(char*?s1,?char*?s2)

{

int? len1? =?strlen(s 1);

int? len2? =?strlen(S2);

¿Si? (len1? gt? len2)

{

¿Regresión? -1;

}

int? ¿I? =?0,?j? =?0;? //?¿I? ¿Qué pasa? t1? ¿Qué posición? ¿Qué pasa? s2? Ubicación

¿Cuándo? (j? lt? len2?-?len1? ?1)

{

¿Cuándo? (I? lt? len1? amp amp? s1[i]? ==?s2[j])

I

j; /p>

}

¿Y si? (¿Yo?==?len1)

¿Volver? j? -?len 1;

}

Otros

{

j? =?j? -?¿I? ?1;? //? Juzga el siguiente personaje del personaje hasta la última vez.

¿Yo? =?0;

}

}

¿Volver? -1;

}

int? main(int?argc,?char**?argv)

{

int? r? =?is_sub_str("23","234567");

printf? (" d\n ", r);

r? =?is_sub_str("23","ABC 123 aC");

printf? (" d\n ", r);

r? =?is_sub_str("223","22 ABC 223");

printf? (" d\n ", r);

r? =?is_sub_str("1234 ","23");

printf? (" d\n ", r);

¿Volver? 0;

}Ejecutar:

Esta es una ley violenta, pero por experiencia, generalmente no es muy eficiente. ¿En cuanto a ser más eficiente? El algoritmo KMP es difícil de entender. Puede encontrar información para comprenderlo usted mismo.