按字典序排序
来源:互联网 发布:印刷如何打造网络接单 编辑:程序博客网 时间:2024/06/06 10:08
按字典顺序排序
主要思路
举个生动形象的例子,大小关系满足如此的一个序列:(小 < 大 > 中),将其作为初始状态。
1.从一个初始序列中,从后往前查找,找第一个满足a[i-1]<a[i]
的元素,将i-1记下来,即为小。也可以看出大之后的元素是由大到小的,是一个最大值的序列。
2.那么再从后往前查找,找第一个大于a[i-1]
的值,记住下标为k,即为中。
3.将i-1的值与k的值交换,此时 (中 大 小),而大之后的元素依然保持从大到小。
4.接着逆序i-1后面的所有值,刚好得出初始序列的下一个序列,(中 小 大)。
class Solution {public: vector<string> Permutation(string str) { vector<string> a; if(str.size()==0) return a; a.push_back(str); int i; int length=str.size()-1; if(length==0) return a; i=length; while(i>0){ if(str[i-1]<str[i]){ int j=i-1; int k; for(k=length;k>=i;k--) { if(str[k]>str[j]) break; } char t; t=str[k]; str[k]=str[j]; str[j]=t; fanzhuan(str,j+1); a.push_back(str); i=length; } else --i; } return a; } void fanzhuan(string &str,int i) { int j=str.size()-1; for(i,j;i<j;i++,j--) { char t; t=str[i]; str[i]=str[j]; str[j]=t; } }};
0 0
- 按字典序排序
- 个人模板 字符串按字典序排序
- java字典序排序
- 拓扑排序-字典序
- 字典序排序
- 字典序排序问题
- 字典序排序n!
- 拓扑排序(字典序)
- 字典序排序
- 按字典顺序排序
- 字符串按字典排序
- 字符串按字典排序
- 单词按照字典序排序
- java的字典序排序
- 字符串按照字典序排序
- 字符串排序(字典序)
- 字典序排序算法解析
- Python字典按value排序
- 【IDEA】IDEA 2017 注册激活可用license server
- 轻松掌握KMP算法 字符串匹配
- 僵尸进程和孤儿进程
- 学习方法
- 如何将一个ArrayLike(类数组对象)变成一个Array(真正的数组对象)
- 按字典序排序
- 数据结构OJ作业——图的遍历
- 变量命名
- SICP习题笔记(第一章)
- Maven下载、安装、配置
- Java常用类之【字符串相关类型】
- CountDownTimer 应用一例
- Android Framework学习(二)之Zygote进程启动解析
- 深度学习 caffe windows cpu matlab安装