博客
关于我
字符串排序
阅读量:439 次
发布时间:2019-03-06

本文共 935 字,大约阅读时间需要 3 分钟。

题目描述

编写一个程序,将输入字符串中的字符按如下规则排序。

规则1:英文字母从AZ排列,不区分大小写。

      如,输入:Type 输出:epTy

规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。

    如,输入:BabA 输出:aABb

规则3:非英文字母的其它字符保持原来的位置。

    如,输入:By?e 输出:Be?y

样例:

    输入:

   A Famous Saying: Much Ado About Nothing(2012/8).

    输出:

   A aaAAbc dFgghhiimM nNn oooos Sttuuuy (2012/8).

输入描述:
 
输出描述:
 
输入例子:
A Famous Saying: Much Ado About Nothing (2012/8).
输出例子:
A aaAAbc dFgghh: iimM nNn oooos Sttuuuy (2012/8).

题目思路:

受教于一位大神

先把字符的挑出来,保存进pair中,first键值保存字符,second保存位置。

挑出来之后sort排序,里面用了lambda表达式,如果转换小写之后相同,按照位置从小到大排,不相同统一按照小写字符a~z排序。
然后排序完成之后的arr重新放入原来的字符串,保证了非字母字符的位置不变。最后输出

代码:

#include
using namespace std;const int MAXN=1005;pair
ans[MAXN];bool cmp(pair
a,pair
b){ if(tolower(a.first)==tolower(b.first)) return a.second
还有lambda表达式形式的cmp

sort(ans,ans+index,[](pair
a,pair
b)->bool{ if(tolower(a.first)==tolower(b.first)) return a.second

转载地址:http://mvjyz.baihongyu.com/

你可能感兴趣的文章
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置多个不同端口服务共用80端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-动静分离实例:搭建静态资源服务器
查看>>
Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
查看>>
Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
nginx配置文件nginx.conf超详细讲解
查看>>
Nginx配置文件详解
查看>>
Nginx配置自带的stub状态实现活动监控指标
查看>>
Nginx配置详解
查看>>
nginx配置详解
查看>>
nginx配置详解、端口重定向和504
查看>>
nginx配置负载均衡
查看>>
nginx配置负载均衡
查看>>
Nginx配置负载均衡到后台网关集群
查看>>