| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 838 人关注过本帖
标题:[求助]简单排序问题
只看楼主 加入收藏
vistafans
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-22
收藏
 问题点数:0 回复次数:11 
[求助]简单排序问题
最近遇到一个小问题百思不得其解:从键盘输入几个字母(区分大小写),要求将这些字母按字典顺序(A~Z)排序。 比如输入了D c B a,则结果是:a B c D。

各位高手帮帮我这个小菜鸟吧 提供些思路就行 要是能写出程序来就最好啦 先谢谢了
2007-08-23 22:44
ConZhang
Rank: 1
来 自:北京
等 级:新手上路
帖 子:282
专家分:0
注 册:2007-8-7
收藏
得分:0 

你可以把输入的字符都转化为小写或者大写,然后在比较排序!

2007-08-23 22:48
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
利用ascII码或者直接进行比较也行,和数字没啥区别:)

简单的快乐着~
2007-08-23 22:48
jpanwfei
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-8-23
收藏
得分:0 
基本意思就是2楼的
2007-08-23 22:50
vistafans
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-22
收藏
得分:0 
回复:(ConZhang)你可以把输入的字符都转化为小写或...
我都转成小写了 也能排序 就是不知道怎么还原 就是不知道怎么按照原来输入的大小写输出

2007-08-23 22:57
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
请问输入BAba应该输出什么?
2007-08-23 22:59
vistafans
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-22
收藏
得分:0 
回复:(雨中飞燕)请问输入BAba应该输出什么?
忘记说了 应该是要求输入不同的字母

2007-08-23 23:02
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
统计排序
2007-08-23 23:17
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
回复:(vistafans)[求助]简单排序问题

/*---------------------------------------------------------------------------
File name: CaseInsensitiveCompare.cpp
Author: HJin (email: fish_sea_bird [at] yahoo [dot] com )
Created on: 8/23/2007 08:59:41
Environment: Windows XP Professional SP2 English +
Visual Studio 2005 v8.0.50727.762


Modification history:
===========================================================================


Problem statement:
---------------------------------------------------------------------------
http://bbs.bc-cn.net/viewthread.php?tid=165002

最近遇到一个小问题百思不得其解:从键盘输入几个字母(区分大小写),要求将这些字母按字典顺序(A~Z)排序。 比如输入了D c B a,则结果是:a B c D。

各位高手帮帮我这个小菜鸟吧 提供些思路就行 要是能写出程序来就最好啦 先谢谢了


Sample output:
---------------------------------------------------------------------------
DcBa
a B c D Press any key to continue . . .

BAba
A a B b Press any key to continue . . .

CaseInsensitiveCompare
a a C C e e e e I i i m n n o p r s s s t v Press any key to continue . . .

*/

#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>

using namespace std;


// functor for sort
struct CaseInsensitiveCompare
{
bool operator()(const char a, const char b)
{
return (a|0x20)<(b|0x20);
}
};


int main()
{
char s[1000];
cin>>s;

vector<char> vc(s, s+strlen(s));

sort(vc.begin(), vc.end(), CaseInsensitiveCompare());

copy(vc.begin(), vc.end(), ostream_iterator<char>(cout, " "));

return 0;
}


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-08-24 00:01
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

转换下,按小写或大写转换,保留原来的字符作卫星数据,再按转换后的关键字排序即可!


Fight  to win  or  die...
2007-08-24 00:08
快速回复:[求助]简单排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023495 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved