Red de conocimiento informático - Conocimiento sistemático - Proporcione una idea de cómo ejecutar el código en esta pregunta. Su función es ordenar cadenas y eliminar duplicados. Por favor, dame más detalles, no estoy familiarizado con los consejos.

Proporcione una idea de cómo ejecutar el código en esta pregunta. Su función es ordenar cadenas y eliminar duplicados. Por favor, dame más detalles, no estoy familiarizado con los consejos.

El primer bucle for de doble capa, que ordena cadenas

for(p=str;*p;p++)

{

for(q=r=p;*q;q++)

if(*r>*q) r=q;

if(*r!=*p )

{

c=*r;

*r=*p;

*p=c;

}

for(p=str;*p;p++)

{

for(q=p;*p==*q; q++);

strcpy(p+1,q);

}

Dado que la parte anterior ha sido ordenada, los caracteres repetidos son adyacentes

for(p=str;*p;p++) El bucle for externo atraviesa los elementos normalmente hasta que encuentra el terminador de cadena '\0'

for(q=p; *p==*q; q++); El bucle for interno se utiliza para omitir caracteres repetidos

Solo se copia uno de los caracteres repetidos y los demás caracteres repetidos se sobrescriben