Orden del diccionario
/randyjiaowenjie/Article/Details/6313729
Supongamos que uno de los n números está ordenado como p: p1p2p3...Pj-1ppj 1...PK-1ppk 1...PN.
1. Comenzando desde la parte más a la derecha de la secuencia, encuentre el primer número de la izquierda que sea más pequeño que el número adyacente de la derecha y escriba su subíndice j, es decir, j = max {. i | pi
2. Encuentra el número más pequeño Pk a la derecha de Pj que es mayor que Pj.
3. Intercambie el pijama, paquete. En este momento, la secuencia se convierte en P': P 1p2p 3...Pj-1pkpj 1...PK-1ppjpk 1...PN.
4. Invierta Pj 1...Pn para obtener la última secuencia P": P 1p2p 3...Pj-1pn...PK 1ppj PK-1...Pj 65438.
4. p>
Ejemplo:
1 2 3 5 7 4 6 10 9 8 es la disposición del 1-10
1. Al final de la secuencia, encuentra el de la izquierda. El primer número 6 es más pequeño que el número adyacente a ti a la derecha y su subíndice es 7.
El número más pequeño a la derecha de 2,6 es 8.
3. 6, 8 obtiene 1 2 3 5 7 4 8 10 9 6.
4 Invierte P8-P10 para obtener: 1 2 3 5 7 4 8 6 9 10. es la siguiente secuencia.
La implementación es la siguiente: