我想设计/查找一个C ++数据结构/容器,它支持两列数据,并对这些数据进行CRUD操作。我查看了STL容器,但是没有一个容器支持我的要求(如果我错了,请更正我)。
我的确切要求如下


具有两列的数据结构。
支持以下功能


搜索特定项目。
搜索符合条件的项目列表
这两个列均应支持上述搜索操作。即,我应该能够在两列上搜索数据。
更新特定项目
删除特定项目
新增项目



我希望搜索操作比添加/删除操作要快。

另外,我将在线程之间共享此数据,因此需要支持Mutex(我也可以分别对这些数据实现Mutex Lock。)

现有的STL是否满足我的要求,或者我们是否有其他最适合我的要求的库或数据结构。

注意:我不能使用数据库或SQLite来存储数据。

谢谢
问候,
丁什

最佳答案

如果该列之一是唯一的,则可以使用Map。否则,定义一个具有两个表示该列的成员变量的类,并将其存储在vector中。有一些算法可以帮助您搜索容器。

10-08 04:54