gpt4 book ai didi

c++ - 如何按任意列动态排序数据

转载 作者:行者123 更新时间:2023-11-30 02:05:07 31 4
gpt4 key购买 nike

是否有结构组合(STL、Boost 等)的数据结构,允许我对内存中的数据进行排序,就像在此表中所做的那样 http://en.wikipedia.org/wiki/List_of_cities_proper_by_population

我想要一个可以处理任意编号和列名的通用解决方案。本质相似使用 sql 的 order by clause

最佳答案

好吧,你必须做一些腿部工作。

考虑制作一个结构或元组来保存一行:

struct row{
unsigned rank;
std::string city;
double area;
//so on
};

用你的行填充 vector 或其他包含。

std::vector<row> rows;

要使用 std::sort 进行排序,您可以查看特定值的自定义比较函数。

std::sort(rows.begin(), rows.end(), [](const row& r1, const row& r2)->bool{
return r1.area < r2.area;
}); //sort by area

这可以通过拥有一个 vector 的 vector 而变得通用,并且比较函数可以从它的环境中捕获一个变量:见我的其他答案

关于c++ - 如何按任意列动态排序数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806507/

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