1.简述:根据单词在字典中的排列顺序得到的算法
2.例题1:
设有排列 p=2763541 ,按照字典式排序,它的下一个排列是什么?
按照题意 即 求比2763541大的最小数
注意:以下说的最后一个都是从右往左找的第一个
步骤一:2763541 【找到最后一个正序,取其第一个数】
步骤二:2763541 【找到3后面比3大的最后一个数4】
步骤三:2764531 【交换3和4的位置】
步骤四:2764135 【将4后面的531反序为135】
即p的下一个排列为2764135
3.例题2:
{1,2,3}按照字典顺序选择:
- 一开始即为123
- 找到最后一个正序为23,取2,找到2后面最后一个比2大的数3,交换2和3 ,即为132
- 找到最后一个正序为13,取1,找到1后面最后一个比1大的数2,交换1和2,此时为231,将2后面的数反序,即为213
- 找到最后一个正序为13,取1,找到1后面最后一个比1大的数3,交换1和3,即为231
- 找到最后一个正序为23,取2,找到2后面最后一个比2大的数3, 交换2和3,此时为321,将3后面的数反序,即为312
- 找到最后一个正序为12,取1,找到1后面最后一个比1大的数2,交换1和2,此时为321