我想在C中实现一个键值对数据结构。任何想法?
答案 0 :(得分:11)
答案 1 :(得分:5)
如果您的键和值部分是相同的数据类型,那么您可以使用具有2列的二维数组,其中第一列将是您的键,第二列将是数据。 IT将表现为地图,但时间复杂性将不同。 时间复杂度: 搜索 - O(n) 插入 - 想要保持唯一键然后O(n) 其他 O(1)。
int map[N][2];
如果你想让键值对不同,你可以使用列表结构。
struct node
{
int key; //key part
string value; // value part
struct node *next;
};
时间复杂度: 搜索 - O(n) 插入 - 想要保持唯一键然后O(n) 其他 O(1)。
答案 2 :(得分:0)