一个关于数组找数据的问题

总哈哈 2009-10-29 01:38:47
大家好,本人现在遇到个这样的问题,就是把一个可能好几万的键值对存到数组(估且先这么说)里面, 里面有很多数据,就像这样
a["adfasdfasfd"] = "lsdkjflsajdfsf";
a["ijeki"] = "iodew df";
这样的数据有很多,我要做的是先存。然后如果有Key来了,要到里面去找,并得出对应的值,例如现在来了ijeki,于是我可以快速的得到iodew df,希望大家可以知道我的意思。请高手们支招!
...全文
130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
总哈哈 2009-10-29
  • 打赏
  • 举报
回复
感谢7楼,马上结贴!
总哈哈 2009-10-29
  • 打赏
  • 举报
回复
请大家注意,这里用的是C语言,因为是在Linux下面开发,请尽量不要给一些Windows上才有的函数,谢谢!
qiuyatao 2009-10-29
  • 打赏
  • 举报
回复
枚举+VECTOR
  • 打赏
  • 举报
回复
C++的话使用std::map
C 的话找一下看看有现成的map用吧。
星羽 2009-10-29
  • 打赏
  • 举报
回复
c语言啊,自己实现个map 或者hashmap吧 = =
stjay 2009-10-29
  • 打赏
  • 举报
回复
纯C没啥方法
whg01 2009-10-29
  • 打赏
  • 举报
回复
定义结构体
typedef struct{
const char* key;
const char* value;
}KEY_VALUE; 结构体只是索引,实际的字符串存在另一个数组中即可。
最简单的做法是用set<KEY_VALUE,用来排序的类函数>。

不过既然是事先存,然后再查找,可以这样:
分配一个大的空间,用于存放key,value的字符串。
并初始化KEY_VALUE info[N];
然后对info 快速排序。
查找时对info进行二分查找。
heis07w 2009-10-29
  • 打赏
  • 举报
回复
hash或者map就可以
stjay 2009-10-29
  • 打赏
  • 举报
回复
用stl::map
或者hashmap

map<string,string>

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧