Utilizo programación en C y uso orden ascendente ¿Por qué a veces se organiza en orden ascendente y otras no cuando se ejecuta?
Hay dos cuestiones a las que prestar atención:
La inicialización de la estructura. La estructura que utiliza aquí no está inicializada, lo que puede causar algunos problemas inexplicables.
Hay algún problema con el código de clasificación. Puede intentar sustituir los valores usted mismo: cuando i = 0, j toma 1 y 2 para realizar el bucle, y k siempre es 1, s [k] addgt; s[j].add Esto debe ser falso (según los datos que ingrese),
kgt; i Esto debe ser verdadero, entonces s[1] y s[0] intercambiarán datos. , intercambie una vez cuando j = 1 e intercambie nuevamente cuando j = 2. Es equivalente a que los datos no cambien.
Cuando i=1, no debería haber más intercambio de datos en el bucle.
Entonces, el resultado final debería ser que los datos estén en el mismo orden que cuando los ingresaste. Sin embargo, a juzgar por el resultado que proporcionó, s[0] y s[1] se intercambiaron, lo cual es inexplicable. Luego, consulte el consejo 1, inicialización de la estructura. . .