题目内容:字符串有些是对称的,有些是不对称的,请将那些对称的字符串按从小到大的顺序输出。字符串先以长度论大小,如果长度相同,再以ASCII码值为排序标准。

输入描述:输入数据中含有一些字符串(1<=串长<=256)。

输出描述:根据每个字符串,输出对称的那些串,并且要求按从小到大的顺序输出。

题目分析:

(1)定义一个string类型的向量容器

(2)将输入的字符串反转,看是否和原字符串相同,以此判断字符是否对称

(3)若对称,则将该字符串插入到向量容器中

(4)使用sort算法对向量元素排序,自己设计排序比较函数,把这个函数指定给sort算法

排序比较函数的具体方法是,判断参与比较的没两个字符串的长度是否相等,若不相等则按长度从小到大的顺序返回;若相等则以ASCII码值为排序标准,即按字符串从小到大排序

参考代码:

#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm> using namespace std; bool Comp(const string &s1,const string &s2)
{
return s1.length()!=s2.length()?s1.length()<s2.length():s1<s2;
}
int main(int argc,char * argv[])
{
vector<string> v;
string t,s;
while(cin>>s)
{
t=s;
reverse(t.begin(),t.end());
if(t==s)
{
v.push_back(s);
}
if(cin.get()=='\n')
{
break;
}
}
sort(v.begin(),v.end(),Comp);
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<endl;
}
system("pause");
return 0;
}

运行结果:

C++排列对称串的更多相关文章

  1. LeetCode 5 最长对称串

    LeetCode 5 最长对称串 最早时候做这道题的时候还是用Java写的,用的是字符串匹配的思路,一直Time Limit Exceeded.甚至还想过用KMP开优化子串查找. public cla ...

  2. 409. Longest Palindrome 最长对称串

    [抄题]: Given a string which consists of lowercase or uppercase letters, find the length of the longes ...

  3. 《STL详解》解题报告

    看完发现文档缺页...... 3.5  菲波那契数 vector<int> v; v.push_back(); v.push_back(); ;i < ;++i) v.push_ba ...

  4. C++实现01串排序

    题目内容:将01串首先按长度排序,长度相同时,按1的个数从少到多进行排序,1的个数相同时再按ASCII码值排序. 输入描述:输入数据中含有一些01串,01串的长度不大于256个字符. 输出描述:重新排 ...

  5. c语言:最长对称子串(3种解决方案)

    问题描述: 输入一个字符串,输出该字符串中最大对称子串的长度.例如输入字符串:“avvbeeb”,该字符串中最长的子字符串是“beeb”,长度为4,因而输出为4. 解决方法:中序遍历 一,全遍历的方法 ...

  6. pat 团体赛练习题集 L2-008. 最长对称子串

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

  7. 天梯赛L2-008 最长对称子串 (字符串处理)

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s&quo ...

  8. leetcode-Symmetric Tree 对称树

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...

  9. [刷题] PTA 7-64 最长对称子串

    7-64 最长对称子串 我的代码: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1001 4 5 int main ...

随机推荐

  1. Codeforces 404D [DP]

    /* 我是一个习惯后悔,但是没办法忍受内疚感的二货== 这题是个无脑dp,但是比赛大概20min没出...其实最后5min我好好想想简单化边界条件,可以出的. 题意: 给你一个长度为1e6的由?*01 ...

  2. 【转】 ip段/数字,如192.168.0.1/24是什么意思?

    http://blog.csdn.net/aerchi/article/details/39396423 ip段/数字,如192.168.0.1/24是什么意思? ip段/数字,如192.168.0. ...

  3. maven配置开发

    1.项目中使用Log4j对其日志进行配置管理,采取的方式一种是通过properties文件设置,另一种方式就是通过设置xml文件的配置. 使用场景: 编程模型:log.err();log.debug( ...

  4. JavaScriptResult用法

    写MVC项目的时候,一开始就遇到返回脚本无法执行的情况,查阅博客园中老鸟的各种文章,最后没有得出个所以然,没办法,找项目经理实地讨论. public JavaScriptResult Hello() ...

  5. MVC session过期如何处理跳转

    以前我们总是会写一个基类也叫父类来判断session是否已过期然后跳转到指定的错误页面或者登陆界面,然后让所有的页面都继承这个基类,但是当我们应用到MVC项目中时,发现该方法并不会起作用.这时我们可以 ...

  6. 用 vs2013 创建 windows service 程序

    windows services 是运行在后台的服务程序,可以用 vs2013 来创建,创建的步骤如下: 1.打开 vs2013 , Files -->New Project --> wi ...

  7. Oracle之别名小结

    今天在写一个简单的SQL语句并执行时抛出了如下图所示的一个错误提示信息! 恩,此异常信息很明显,在SQL语句中标示符的长度过长了,简短一些就应该没问题了,我查看了一下我的SQL语句发现是我的查询字段的 ...

  8. PL/SQL中查询某的时间段内所有执行的sql

    清空缓存,重新开始统计执行的SQL alter system flush shared_pool; 查询执行过的SQL select * from v$sql where parsing_schema ...

  9. SDL2 Tutorial

    Hello World for SDL2 SDL2 setting for visual studio. http://lazyfoo.net/tutorials/SDL/01_hello_SDL/w ...

  10. 【MySQL】数据导出导入成CSV格式

    一.自动输出中文字符集 select * from db into outfile 'test.csv' CHARACTER SET gbk fields terminated by ',' opti ...