gpt4 book ai didi

c++ - 根据 C++ 中的列对 csv 文件进行排序

转载 作者:行者123 更新时间:2023-11-28 06:12:31 53 4
gpt4 key购买 nike

我的任务是根据用户输入对 csv 文件进行排序

数据如下所示:

California,USA,65,76,65,67
Paris,France,78,65,97,87
Tokyo,Japan,56,78,67,87
New York,USA,54,65,67,44,67

或者基本上列代表

City,Country,q1 average temperature, q2 average temperature, q3 , q4

我的任务是根据列对其进行排序:城市作为第 1 列,国家/地区作为第 2 列,依此类推...取决于用户输入。

所以如果用户输入是 1dec,这意味着它将按第一列排序(在这种情况下按字母顺序)并打印排序后的数据

对于上面的示例,它将打印为:

Tokyo,Japan,56,78,67,87
Paris,France,78,65,97,87
New York,USA,65,67,67,44,67
California,USA,65,76,65,67

用户还可以输入多个输入,如 2asc,3dec,4dec 这意味着,第 2 列将首先按升序排序,如果该列中有相似数据,第 3 列将按降序显示它们,如果仍然相同,则使用第 4 列。

对于上面的示例,如果使用 2asc,3dec,4dec 调用,它将打印为:

Paris,France,78,65,97,87
Tokyo,Japan,56,78,67,87
California,USA,65,76,65,67
New York,USA,65,67,67,44,67

我的问题是,我应该如何解决这个问题?我应该使用哪种最佳数据结构?

附言。并不是真的要求代码示例,但我只是要求一些提示或者如果你遇到这种问题的方法

最佳答案

这是一个你可以使用的方法,希望你觉得它很直观

  1. 读取数据并将其放入一个未排序的 vector 中,其中包含代表真实世界数据的对象(类)。
  2. 解析用户输入以确定列和排序顺序
  3. 使用简单的排序算法(例如选择排序)将数据添加到已排序的 vector 中。
  4. 迭代排序后的 vector 并输出结果。

关于c++ - 根据 C++ 中的列对 csv 文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30974335/

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