当前位置:  技术问答>linux和unix

如何快速查找一个结构体数组中的特定元素

    来源: 互联网  发布时间:2017-03-30

    本文导语:  如题,首先,我定义了一个结构体,结构体里面有一个名字叫APPID的整型成员。然后我又calloc了这种结构体为元素的结构体数组,数组大小为200.现在,我想快速查找数组中某一个元素的APPID为特定值(比如0x4000)的元...

如题,首先,我定义了一个结构体,结构体里面有一个名字叫APPID的整型成员。然后我又calloc了这种结构体为元素的结构体数组,数组大小为200.现在,我想快速查找数组中某一个元素的APPID为特定值(比如0x4000)的元素。目前我的方法是从头遍历,但是速度是很慢的,如何才能快速查找?

|
数组大小才200,不至于很慢吧。

|
从头到尾遍历一次的代价几乎肯定要花的,没什么有好的方法。

|
楼主,你问的问题不就是一个查找的问题吗?

关于查找有很多快速的方法,如果你的结构一定要用数组,
你有两个选择:
1:构造一个从小到大排序的数组,然后二分查找,这样速度就比顺序查找快多了。
2:如果内存空间够大,你可以使用hash。这样查找速度更快。
如果你的结构不一定要用数组,那么你的选择就更多了,这里就不一一介绍了。

|


这样的方法,你要先排序,而如果计算上排序的时间规模,就不一定哪个更好了。
就要case by case的看。

|


那也得看看吧,如果你是取的次数多,存一次,那排序下了二分法的开销还是值得的

    
 
 

您可能感兴趣的文章:

  • php数组函数之array_key_exists() 查找数组键名是否存在
  • php数组函数in_array() 查找数组值是否存在
  • php数组查找函数in_array()、array_search()、array_key_exists()
  • php数组查找函数in_array()、array_search()、array_key_exists()使用实例
  • 用递归查找有序二维数组的方法详解
  • C++实现旋转数组的二分查找
  • php冒泡排序、快速排序、快速查找、二维数组去重实例分享
  • php数组实例(数组合并/拆分/追加/查找)
  • C++ 先对数组排序,在进行折半查找
  • C++ Maps 成员 find():查找一个元素
  • js查找某元素中的所有图片地址的方法
  • C++ MultiMaps 成员 find():查找元素
  • jquery查找父元素、子元素(个人经验总结)
  • 通过url查找a元素并点击
  • Java函数式编程(四):在集合中查找元素
  • python查找第k小元素代码分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 rfind():查找最后一个与value相等的字符(逆向查找)
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • php顺序查找与二分查找实例
  • C++ Strings(字符串) 成员 find_first_of():查找第一个与value中的某值相等的字符
  • php顺序查找和二分查找示例
  • C++ Strings(字符串) 成员 find_last_of():查找最后一个与value中的某值相等的字符
  • 在unix查找某个目录下一小时前的生成的文件,怎么查找?find只能按天来查。
  • C++ Strings(字符串) 成员 find_first_not_of():查找第一个与value中的所有值都不相等的字符
  • vim怎么查找并替换 “[bx][si]”呢。。貌似是因为两个中括号连在一起查找不到。。
  • C++ Strings(字符串) 成员 find_last_not_of():查找最后一个与value中的所有值都不相等的字符
  • Linux下怎么查找指定文件大小的文件?如查找100MB以上的文件
  • Linux c++库boost unordered_set数据插入及查找代码举例
  • 还发一个查找文件的贴子,给一个相对目录USR0怎样用JAVA查找其下的文件
  • HASH查找的程序实现及性能分析
  • java 折半查找法(二分查找)实例
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • php字符串查找 查找字符最后一次出现位置
  • c++类库Boost.Bimap(遍历,插入,查找,删除)参考代码
  • jquery 父页面查找iframe子页面内容、子页面查找父页面内容
  • 根据文件大小查找文件的find命令举例(Linux,centos,redhat)
  • 高分急求:UNIX环境下查找字符串的问题 (给出文件路径,和需要查找的字符串)工作急需,恳求各位高手帮忙!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,