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 vectData;

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

  • 对于关联容器,本身按照键进行排序,定义容器时传递自定义的排序逻辑,如下:
std::map mapData;
 
  

你可能感兴趣的:(VC/C++)