C++ 容器使用自定义排序逻辑对中英文进行排序

STL中的容器主要分为顺序容器和关联容器。其中顺序容器主要有vector, deque和list;关联容器主要有map,set和multimap  multiset。关联容器,通过键存储和读取元素。顺序容器,通过元素在容器中的位置顺序存储和读取元素。
指定自定义排序方法或者重载 operator < 操作符等方式来自定义排序规则
  • 对于顺序容器通过调用std::sort函数进行排序,以类对象的方式传递自定义的排序逻辑,如下:
class CompareASC
{  
public:  
CompareASC()
{
setlocale(LC_ALL,"Chinese-simplified");
}

bool operator ()(const CString& i_stFir, const CString& i_stSec)
{
USES_CONVERSION;
int nResult = strcoll(T2A(sPre), T2A(sLat));
return nResult < 0 ? true : false;
}  
};

// 调用方式

std::vector<CString> vectData;

std::sort(vectData.begin(),vectData.end(),CompareASC());

  • 对于关联容器,本身按照键进行排序,定义容器时传递自定义的排序逻辑,如下:
std::map<CString,CString,CompareASC> mapData;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值