如何对包含通过索引相互关联的数据的多个数组进行排序

VKi*_*Kid 0 c++ arrays sorting file-io vector

我有一组包含城市,国家,纬度和纬度的数组.c ++语言.

ifstream file("worldcities.csv");
getline(file, temporay);
//inputs the file into 4 arrays for each catergories
for (i=0;getline(file,(cities[i]),',');i++)
{
getline(file, countries[i], ',');
getline(file, latitude[i], ',') ;
getline(file, longitude[i]);
}
Run Code Online (Sandbox Code Playgroud)

我如何同时对纬度和经度阵列进行排序,以找到列表中所有其他列表的前五个最低或最高,但同时不会丢失那些长期与之相关的城市和国家的元素?

Lih*_*ihO 5

"与此同时,不要失去长城与之相关的城市和国家的元素"

当这些是属于一起的值时,为什么不将它们捆绑在一个对象中呢?即:
struct Location {
    std::string city, country;
    double lng, lat;
};
Run Code Online (Sandbox Code Playgroud)

一旦你将所有位置加载到std::vector<Location>那时你就可以定义自己的比较器并使用std::sort.

这个问题可能对你有所帮助:如何使用std :: sort与结构向量和比较函数?