链表的快速查找问题,求解!

ozil1236 2015-04-03 11:17:01
我现在有一条链表,按结点的整型数成员index从小到大已经排序好,比如链表结点的 index依次是1, 20, 50, 120, 200,230,300....
现在我要查找一个比给定的findindex(比如260)小并且是最接近findindex的那个结点,就是例中的230这个结点。 如果是顺序遍历的话,链表太长了效率很低。。如何有更高效的查找算法呢? 求大神们解救!!!谢谢!!!
...全文
234 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-04-03
  • 打赏
  • 举报
回复
链表只能这样,只能从头或者从尾(双向)开始搜 如果链表很大,那使用hash加链表
内容概要:本文档是2025年6月GESP编程能力认证C++五级考试的试题解析,涵盖单选题、判断题和编程题三大部分。单选题涉及链表操作、双向链表实现、约瑟夫问题、质数判断、最大公约数求解、唯一分解定理、分治算法、二分查找、硬币找零问题快速排序算法和高精度除法等内容。判断题则对最大公约数求解、最小公倍数、质因数分解、归并排序、时间复杂度、二分查找、Dijkstra算法、分治算法效率、递归终止条件和线性筛法进行了判断。编程题包括奖品兑换和最大公因数求解,要求考生在规定时间内编写高效代码解决问题。 适合人群:具备一定编程基础,尤其是熟悉C++语言的数据结构与算法的考生,特别是准备参加GESP编程能力认证考试的学生。 使用场景及目标:①帮助考生熟悉GESP编程能力认证考试题型和难度;②加深对C++语言中常见数据结构(如链表、循环链表、双向链表)的理解;③提升对经典算法(如最大公约数、质数判断、分治算法、二分查找、Dijkstra算法、快速排序)的掌握;④通过实际编程题锻炼考生的代码编写能力和问题解决技巧。 阅读建议:考生应仔细研读每道题目,理解题目背景和要求,尝试独立思考并解答。对于不熟悉的算法或数据结构,可以通过查阅资料进行补充学习。在练习编程题时,注意优化算法效率,确保代码的正确性和鲁棒性。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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