c++中的一个字符串处理的经典问题

whutwhu 2009-10-14 09:37:43
大量的字符串准备输入,输入过程中需要检查是否有重复输入,有重复的话就要报警退出。
1.如果字符串全部是大小写敏感,或者大小写不敏感,如何处理?
例如,现在输入的字符串都是大小写敏感的:已经输入了ABC,接着输入abc,没有问题,但是再输入一个ABC,就要报警退出了。
2.如果输入的字符串是混合情况的,即有的是大小写敏感,有的是大小写不敏感,如何处理?
例如,输入了大小写敏感的ABC,接着输入大小写敏感的abc,没有问题,但是如果输入大小写不敏感的abc,就要报警退出。
再如,输入不敏感的abc,再输入大小写敏感的ABC,也要报警退出。

首先将字符串和大小写标识符组合成一个类。
第一种情况比较好处理,用新类的set来实现,并重载排序比较符。如果全部是大小写敏感的字符串输入,调用strcmp;如果全部是大小写不敏感的字符串输入,调用strcasecmp。
第二种情况如何处理?因为set的底层结构用的是平衡二叉树,所以无法支持这种包含复合情况的输入。哪位高人有好的算法?
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
borefo 2009-10-15
  • 打赏
  • 举报
回复
up

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧