Orden del diccionario

Análisis detallado:

/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: