POJ1256 (C++ compare函数)
问题:
有一个只含大小写字母的字符串,给出所有该字符串的排列,以字典顺序输出。其中 'A'<'a'<'B'<'b'<...<'Z'<'z'。
方法:
只需调用C++ STL中 next_permutation() 和 sort() 函数,重点在于编写自定义的compare() 函数。
hint:(compare 函数的编写方法)
bool cmp(int a, int b){a = ....; // 处理ab = ....; // 处理breturn (condition); // 若要增序排列,只需将condition填补为所有可能使a小于b的情况 }
代码:
#include<iostream> #include<algorithm> #include<string> using namespace std;bool cmp(char a, char b){if(a <= 'Z' && b <= 'Z')return a < b;else if(a >= 'a' && b >= 'a')return a < b;else if(a >= 'a' && b <= 'Z')return a - 'a' < b - 'A';else if(b >= 'a' && a <= 'Z')return a - 'A' <= b - 'a'; }int main(){string input;int N;cin >> N;while(N--){cin >> input;sort(input.begin(), input.end(), cmp);do{cout << input << endl;}while(next_permutation(input.begin(), input.end(), cmp));} }
转载于:https://www.cnblogs.com/dogspeek/archive/2012/06/24/2559971.html
POJ1256 (C++ compare函数)相关推荐
- boost heap - d_ary_heap 的自定义compare函数用法
heap 最大堆 最小堆 最大堆 根节点最大. 最小堆 根节点最小. boost中默认是最大堆,因此最小堆需要在compare函数return中为">". 示例代码: #in ...
- C++中compare函数的使用
转载自 https://blog.csdn.net/qq_35038153/article/details/78191574 compare函数用来进行字符串以及其子串的比较,示例如下: #inclu ...
- compare函数的使用
C++中compare函数的使用 标签: c++string字符串比较compare 分类: C++(17) 版权声明:本文为博主原创文章,未经博主允许不得转载. compare函数用来进行字符串 ...
- compare函数c语言,sort(compare)方法
@无所不能的风: js中reduce.every.map这些api是吸收了FP(函数式编程)的优点引入的,这些api有一个特点,就是将函数名作为变量传入到函数中,这些函数有个专业名词叫高阶函数 函数名 ...
- C++中字符串的比较,compare()函数
字符串可以和类型相同的字符串相比较,也可以和具有同样字符类型的数组比较. Basic_string 类模板既提供了 >.<.==.>=.<=.!= 等比较运算符,还提供了 c ...
- python compare函数_Python函数基础
Python函数基础 1. 定义函数的三种方式 空函数 def func1(): # TODO ..... pass 无参函数 def fun1(): print("test") ...
- c语言中 compare函数,C/C++中的字符串比较函数strcmp/memcmp/CString.Compare/CStrin
memcmp和strncmp的区别 一.memcmp含义 Compare characters in two buffers. int memcmp( const void* buf1, ...
- C++ STL string类的compare函数使用
#include <iostream> #include <string> using namespace std;int main() {string a("aBc ...
- 【C/C++】string类型的compare函数
C++string的compare()比较函数 两个字符串相同,返回0. 调用字符串小于被调用字符串,返回-1. 调用字符串大于被调用字符串,返回 1. 字符串说的大小通常和字典顺序是一致的. 字符串 ...
最新文章
- OpenCV代码提取:flip函数的实现
- UE4 RHI与条件式编译
- python如何做一个数据库_Python创建一个新的Django项目(连接到MySQL数据库),python,新建,mysql...
- 《大数据分析原理与实践》——习题
- asp.net中session的原理及应用
- Java——n个数的全排列
- 【FLink】Flink checkpoint 实现数据连续计算 恢复机制 拓扑图 变化 如何处理
- mysql grant命令详解_mysql grant命令详解 设置mysql远程连接
- DES算法的加解密原理(详细算法+样例Demo)
- 服务器备案新增网站,已经备案服务器 增加新域名
- [WP]第五届XMan选拔赛web
- 京东秒杀技巧有哪些(京东秒杀技巧大全)
- 太阳能电池基本特性实验报告_太阳能电池基本特性研究实验报告
- bootstraptable treegrid
- Qt5.9/C++架构实例(一个简单的MCV架构应用实例)
- html5超链接不加下划线,css怎么让超链接不加下划线
- 发明了万维网的他,如今却想亲手推翻它
- 数学之美,C++之美,代码之美
- Vscode——远程开发(Windows为主机,Ubuntu为服务器)
- 正面硬刚华龙、副业却节节败退的姚忠良,能带白象重获新生吗?
热门文章
- linux shell变量作用域,Shell变量的作用域:Shell全局变量、环境变量和局部变量
- php字符集转换,php字符集转换
- typora插入代码设置_一篇文章教会你如何在Markdown文档中插入数学公式
- C语言变量d的定义法则,C语言变量命名规则(3页)-原创力文档
- oracle export命令使用浅解,Oracle Export命令使用浅解
- javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
- 针对模拟滚动条插件(jQuery.slimscroll.js)的修改
- async await 的前世今生
- JavaScript执行bat文件清理浏览器缓存