字符串的排列
涉及知识包括了字符的全排列和set容器的使用
1、字符的全排列
参考:https://www.jianshu.com/p/621fb1bccd1c
可以用递归三部曲完成:
(1)确定边界条件:当固定到字符串最后一个索引位置时,保存或者输出字符串,完成一次排列
(2)当前递归返回什么?不需要返回值
(3)当前递归做什么?循环遍历固定当前索引的字符,使用交换完成操作,如果字符被交换到当前索引位置,就是说当前索引位置被固定了,继续固定下一个索引位置,在循环体内交换后记得再交换回来以进行下一次的循环迭代
2、C++——set
set作为一个容器可以用来存储同一类型的数据,并且能从一个数据集中取出数据,set中的每个元素的值唯一,而且系统能根据元素的值自动进行排序。
set中常用的方法:
insert():插入一个新的元素,set会自动检测集合中是否已经存在这个元素,如果不存在,则按照一定的顺序加入set中;如果存在则不会有什么操作。