根据用户输入
,我被赋予了对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
,则意味着它将按第1列排序(在这种情况下按字母顺序)并打印排序数据
对于上面的示例,它将打印为:
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
我的问题是,我该如何解决这个问题? 我应该使用什么样的最佳数据结构?
PS。不是真的要求代码示例,但我只是想要一些提示 或者如果你会遇到这种问题的方法
答案 0 :(得分:1)
这是一种你可以使用的方法,希望你能直观地找到它
答案 1 :(得分:0)
我的问题是,我该如何解决这个问题?哪个最好 我应该使用数据结构吗?
您应该使用多种数据结构,但如果您使用向量来存储输入列表(如果它非常大),您最好使用保留方法,这样您就可以避免多次重新分配矢量。
另一个有趣的观点是以相反的顺序重复应用排序条件,这样您就可以轻松地按照多个条件对输出进行排序。
如果你值得表现,你应该采用更复杂的方法。