C++实现全排列(字典序)
来源:互联网 发布:通州淘宝城图片 编辑:程序博客网 时间:2024/05/18 21:07
以前都是写用复杂的逻辑语言实现全排列,直到发现了C++中原来已经封装好了一个全排列函数:next_permutation(s.begin(),s.end()),头文件<algorithm>
这个函数会自动生成下一个字典序的排序,对应的还有prev_permutation,生成上一个字典序排序,炒鸡的简单明了,省去一大堆复杂的循环~~;
代码如下:
#include<iostream> #include<cstdio> #include<string>#include<map>#include<algorithm> using namespace std; int main() { int n;cin >> n;while(n--){ string str;cin >> str; sort(str.begin(),str.end());do{cout << str << endl;}while(next_permutation(str.begin(),str.end()));} return 0; }
阅读全文
0 0
- 字典序全排列实现
- 递归实现全排列,字典序法实现全排列
- 实现字典全排列
- C - Orders 字典序全排列
- 字典序法实现全排列
- 字典序全排列java实现
- 全排列算法(字典序,递归实现)
- C++实现全排列(字典序)
- 全排列 字典序排列
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 全排列-字典序
- 全排列-字典序
- 字典序全排列
- 字典序全排列
- 字典序全排列
- 如何在调用方法时,让方法中的参数指向元素本身
- 谁先倒(15 分) 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒
- Python之 If条件判断、While循环语句
- 步进电机控制和步进电机原理
- CUDA中grid、block、thread、warp与SM、SP的关系
- C++实现全排列(字典序)
- Android工具之判断uri字符串是否网络资源同时设置进度条第二进度,同时监听播放卡顿
- Sublime在Ubuntu和windows安装教程
- [Codeforces Round #447] 894D
- JS中的call()方法和apply()方法用法总结
- OkHttp的封装
- storm启动报错及解决办法
- tensorflow 中的reduction_indices
- 我只想很快找份Linux系统相关工作