gpt4 book ai didi

c++ - 对字符串数组进行自定义排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:41 25 4
gpt4 key购买 nike

给定一个包含七种彩虹颜色但按随机顺序排列的字符串数组,我应该以某种方式对该数组进行排序以按该顺序输出红色、橙色、绿色、....、紫色。彩虹颜色的顺序。我该如何排序这个数组?

最佳答案

您应该编写一个自定义比较器。以下是我的处理方式。

//somewhere in initalization code;
std::map<string, int> mapOrder;
mapOrder["red"] = 1;
mapOrder["orange"] = 2;
...
mapOrder["violet"] = 7;


bool isRainbowLess(const std::string& a, const std::string& b)
{
return mapOrder[a] < mapOrder[b];
}


int main()
{
std::vector<std::string> myVector;
....
std::sort(myVector.begin(), myVector.end(), &isRainbowLess);
}

关于c++ - 对字符串数组进行自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com