问题标签 [bsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2353 浏览

c - 如何在c中正确使用bsearch?

我想在日期数组中搜索一个日期(这是一个结构)以查看它是否在其中。这是我第一次使用 bsearch,它总是返回相同的结果,0,而它应该返回 null 或指向找到的日期的指针。我正在使用与对数组进行排序时相同的比较函数,并且排序工作正常。我猜如果函数返回 0 表示它已经在数组中找到日期。我做错了什么?如果错误不明显,我可以发布完整的代码。

0 投票
1 回答
439 浏览

c - bsearch 不搜索传递给它的整个数组

我在使用这个 bsearch 时遇到了麻烦。我很确定我已经将问题隔离到 bsearch 接收的字节数参数。数据数组是一个拼字游戏字典,我 100% 确定整个字典已加载到内存中,但是当我使用 bsearch尝试查找字典中是否有特定单词,它仅适用于“wontedly”之前的单词,即使字典的最后一个单词是“zzz”,所以一些以“w”“x”“y”和“z”开头的单词是无法找到。就好像 bsearch 函数看不到数组的结尾,即使它在那里。另一件值得注意的事情是,在我的比较函数中,我打印出 bsearch 传递给它的内容,以查看正在比较的单词,似乎在第一次比较时,bsearch 不会发送类似于“lunkheads”的中间值,而是从“lodge”开始,这不是字典中的中间词。16 字节是我输入的数字,经过反复试验,似乎可行。问题是我不知道数组中每个元素的长度是多少,或者至少我认为这是问题所在。

0 投票
2 回答
722 浏览

c++ - C++ 函数指针作为 Doxygen 中的参数

我有一种情况需要在 Doxygen 中记录 bsearch() 签名。该签名如下所示:

我遇到的问题是如何为指针*compare 编写@param 命令,因为Doxygen在我抛出的所有内容中都抱怨“在bsearch 的参数列表中找不到命令@param 的参数'compare' ”。

这是一个独立的实现,因此它不依赖于库签名,但是我在想如果我这样做了:

将签名更改为 pcompare 比较使用标准签名的调用者会出现类型问题。

我愿意接受任何允许我在没有 Doxygen 警报的情况下记录这一点的解决方案。

0 投票
1 回答
366 浏览

c - bsearch 未能在结构数组中找到字符串成员

在 C 中使用 bsearch 未能在结构数组中找到字符串“Eva Lam”。该数组按字符串成员的降序排列。查了很多遍,还是不知道bug在哪里?顺便说一句,我使用的是 DEV C++ 5.9.4。请帮忙,非常感谢。

但是搜索“Eva Lam”时程序的输出是:

0 投票
1 回答
181 浏览

c - 使用键值等效于数组元素的 bsearch,它是指向 c 中的字符的指针

我正在使用 bsearch,其键值相当于一个数组元素,其值是一个指针。关键是一个数组的元素,它是一个字符指针数组。我认为您不能通过索引来取消引用数组元素值并将值用作指向 char 字符串的指针。我尝试将元素值转换为 (char *) 但这不起作用。我正在为 bsearch 的返回值获取垃圾。

0 投票
0 回答
192 浏览

ruby - 是否有返回索引而不是值的 bsearch?

RubyArray#bsearch假设一个排序数组,接受一个返回 true/false 的块,并使用二进制搜索来查找块返回 true 的第一个元素。例如:

我想要一个也使用二进制搜索的版本,但返回找到的值的索引,而不是值本身。在上面的示例中,它将返回1.

我找不到任何这样的内置方法——有吗?如果没有,我可以使用任何其他内置函数来实现这一点吗?或者,ruby 是否有任何支持搜索和及时插入的内置结构n log n

0 投票
2 回答
81 浏览

c - bsearch() 按名称比较

我有一个struct employee比较器和main

我需要使用bsearch比较名称(与数组中不存在的某些员工),qsort无论我如何初始化员工,我的函数都有效(按薪水比较)因为bsearch它总是说它不存在(我正在尝试测试这个现有员工优先),

我应该如何初始化我的员工(或者我应该改变什么?)


[评论更新:]

这是我的readEmployee()

我正在比较nonExstingEmployee(存在于数组中进行测试)和我的employeeArray.

0 投票
3 回答
131 浏览

ruby - bsearch 块中的反向表达式不起作用

ary[i] - 1当代码以无法按预期工作 的形式编写时。

我要做的是在数组中找到数字 1 的索引。

1 - ary[i]可以正确返回数字的索引。为什么不起作用ary[i] - 1

0 投票
1 回答
74 浏览

c++ - bsearch 和 Visual Studio 2008

我正在使用一个调用标准函数的正则表达式库bsearch()。使用VS2008时,我必须包含一个额外的标头才能声明此函数 ( <search.h>)。

但是当我链接时,它说bsearch无法解决。MSDN 页面(https://msdn.microsoft.com/en-us/library/w0k41tbs%28v=vs.90%29.aspx)没有指明要为链接添加任何 .lib ,所以我没有知道做什么 !

我正在为 Windows CE 编译(是的,它仍然存在)。

0 投票
2 回答
116 浏览

c - 空指针的奇点问题

我正在使用 C 语言进行代码练习。

如下代码,

我打电话bsearch找字符串cookie//问题是当我删除以根据字符串长度对数组进行排序时发生错误。我不知道为什么会执行错误,因为我认为这qsort不会对我的代码产生重大影响。

你能告诉我在擦除时返回空指针错误的原因//吗?

附言。我用qsortandbsearch来熟悉指针变量。