c++ - 如何按字母顺序将字符串列表(文本格式)插入到容器中?

标签 c++ containers

假设我有

(A,B)
(A,C)
(A,D)
(B,C)
(B,D)
(C,D)
(D,E)

在文本文件中。我将使用正则表达式提取它。

我想将数据插入到容器中,使其看起来像这样。

A->B,C,D
B->C,D
C->D
D->E

我使用哪个容器?<​​/p>

我需要能够在容器的左侧和右侧查找数据,即通过键值。所以我需要能够搜索/查找

A,B,C,D 在

A->B,C,D
B->C,D
C->D
D->E

还有B、C、D在

A->B,C,D

我需要能够查找并插入要重复的键和值,所以如果我得到 (C,E),我可以将其插入以具有

C->D,E

最佳答案

一个 std::vector 在末尾进行一次性排序可能比像 std::set 这样的东西更有效(它将保持排序为你插入)。

我的建议是选择最符合你想做的事情的语义的,如果你发现它效率低下,稍后再修改它。

关于c++ - 如何按字母顺序将字符串列表(文本格式)插入到容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258855/

相关文章:

c++ - 为什么可以通过 const 左值引用传递右值?

c++ - AES 在 Qt 的 StringSource 和 StringSink 函数中无法正常工作

c++ - c/c++ 中的系统暂停

docker - 为什么我们在容器内的工作不应该修改容器本身的内容呢?

c++ - 从序列中插入和删除 C++

c++ - 使用 10 除以错误的精度

c++ - Eclipse 索引器无法解析 shared_ptr

c++ - 为什么 vector<> 和 list<> 容器中的 push_back 不返回对插入元素的引用?

linux - Dockerfile:批量运行命令

docker - Docker容器与主机中的Nexus之间的连接