¿Cuál es el orden de los diccionarios de cadenas?
#¿Contiene? ltstring.h gt
¿Usar? ¿Espacio de nombres? std
int? Señor()
{
Ciel. * t【5】;? //Puntero de dirección almacenado en 5 cadenas
Char. * p; //Puntero para registrar la dirección de la cadena.
int? Yo, j, min
cout? ¿Eh? Por favor introduzca cinco cadenas. ¿Eh? endl
for(I = 0;?i lt5;?i)
{
t[I]? =?¿Nuevo? carácter[20];? //Aplica espacio para el almacenamiento de cadenas.
¿Cin? gt gt? t【Yo】;? //Cadena de entrada
}
/* Pensamiento:
? *?1. Comience con la cadena actual, compárela con todas las cadenas posteriores y encuentre la cadena más pequeña (es decir, en orden alfabético)
? *? debería ser la primera) cadena es la primera cadena, entonces la cadena más pequeña es la misma que
? *?Transposición de cadena actual;
? *?2.Continúe la operación anterior desde la siguiente cadena hasta que solo quede una cadena.
? *? (Solo queda una cadena sin nada que comparar, por lo que el siguiente bucle I es de 0 a 0.
?*?4.)
? */
for(I = 0;?i lt4;?i)
{
Mín. =?Yo;? //Supongamos que la cadena I-ésima es la primera cadena entre las cadenas restantes
? //Posición mínima.
¿Para qué? (j = I 1;?j lt5;?j) //Comparar con i 1 de la cuarta cadena después de la cadena actual.
¿Y si? (strcmp(t[min,?t[j]) gt; 0) //Si t[j] es menor que la cadena más pequeña encontrada hasta ahora, como
min? =?j; //La cadena más pequeña de Ming debe ser t[j], la cadena más pequeña actual.
//La posición debe actualizarse a j, así que registre la posición de j a min y luego continúe.
//Seguir viendo,? Hasta que salgas del bucle
/*? Después de salir del bucle, min es la posición de la cadena mínima actual, entonces, ¿t[min] y t[I] intercambian posiciones? */
/*? Tenga en cuenta que la dirección se almacena en t[I] y t[min]. ¿Solo intercambiar direcciones? */
p=? t[I]; //Registra la primera dirección de la cadena t[I] en el puntero P.
t【Yo】? =?t[min]; // Asigne la primera dirección de la cadena t[min] a t[I] y se sobrescribirá la dirección original en t[I].
t【mínimo? =?pag;? //Asigna la primera dirección de la cadena t[I] original a t[min]
}
cout? ¿Eh? endl
for(I = 0;?i lt5;?i) //Cadena de salida
cout? ¿Eh? t【Yo】? ¿Eh? endl
for(I = 0;?i lt5;?i)//Espacio disponible
¿Eliminar? t【Yo】;
¿Regresar? 0;
}