【发布时间】:2015-09-30 02:45:26
【问题描述】:
我想对一些数字+字符串组合进行排序,但排序将基于该组合中的数字。您能提出一个最佳解决方案吗?
假设我的字符串是:
12 马斯德夫
4 Oasd
44 塔楼
等等。排序将基于 12、4、44 等数字,排序后我必须显示完整的字母数字字符串。
由于程序将在数千个数据上运行,我不想拆分字符串并比较每次迭代的数字。我的计划是提取数字并将它们放入数组中,然后对数组进行排序。排序完成后,我想放回带有关联字符串的数字并将它们保存在字符串数组中以显示。 它应该在 C++ 中完成。应该应用算法 - 插入排序、快速排序、合并排序等。
【问题讨论】:
-
用
std::map/std::multimap很容易解决。 -
@bku_drytt 除非,当然,家庭作业是让课程做到这一点。他的问题描述的最后一句话让我觉得教授希望用各种排序算法来实现它。 AFAIK(我不是
std::的专家)您只能提供比较功能,而不是排序功能,这让我相信分配不仅仅是使用std::map
标签: java c++ arrays algorithm sorting