问题标签 [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.
c++ - qsort()/bsearch() 的外部“C”和“C++”版本的重载解决方案
qsort()
在 C++ 中,标准库提供了两个版本:
bsearch()
差不多。
我的问题是,调用时重载解析如何工作qsort()
?它是否会根据作为最后一个参数传递的函数指针的链接类型(“C”或“C++”)自动链接到适当的函数?或者调用者需要使用某种额外的语法明确指定?
(让我们暂时收起打电话的诱惑std::sort
......)
ruby - ruby 中 bsearch 和 find 的区别
我正在尝试将目录中的文件与其他目录中的其他文件以及使用 ruby 的子目录进行匹配。
我尝试使用此文件体系结构进行小测试:
我的红宝石代码是:
输出是:
搜索 toto 不会返回任何结果。知道为什么,以及如何解决吗?
编辑:如果我用 find 替换 bsearch,上面的代码将按预期运行。谁能向我解释这两种方法之间的区别?
如果你想试试,我上传了一个 tgz:
arrays - Ruby 2.0.0 Array#bsearch 行为
我注意到,从 Ruby 2.0.0 开始,数组类有一个bsearch
我正在测试的方法,但我没有得到我期望的行为。为什么它返回 2 和 5 而不是nil
-1、1 和 4 的值?
ruby - 使用 bsearch 查找将新元素插入排序数组的索引
我有一个排序的唯一数组,并希望有效地将一个不在数组中的元素插入其中,如下所示:
该方法bsearch_index
不存在: only bsearch
,它返回匹配元素而不是匹配元素的索引。有没有内置的方法来实现这一点?
ruby - Ruby Array #bsearch 来自 Programming Ruby 的语法错误?
从 Programming Ruby 中复制此代码并在 rubyfiddle.com 中运行它。得到语法错误而不是 # => 21 ?任何帮助表示赞赏!
c++ - 找不到 bsearch(vc2008) 甚至包含头文件
我维护一个旧项目并遇到了一些链接器错误。
错误信息是:
error LNK2019: unresolved external symbol __imp__bsearch referenced in function "bool __cdecl is_sync_host
据我所知,该bsearch
函数包含在头文件“cstdlib”或“stdlib.h”中,但即使包含头文件,我也找不到“bsearch”。
我怀疑这是因为这个旧项目因为符号冲突而忽略了一些库(我也不知道他们为什么更喜欢省略库而不是重命名函数)
被忽略的库:msvcrt.lib;msvcrtd.lib;libcmt.lib;libc.lib
我尝试将那些被忽略的库添加回来,但后来我遇到了很多“符号重新定义”问题,我认为重命名这些函数不是一个适用的解决方案。
我找到了解决方法(替换bsearch
to std::binary_search
),但我想知道为什么以及如何正确解决这个问题(编译器为什么找不到 bsearch?)。谢谢。
c - 如何从 bsearch 或 lfind 返回索引?- 排序扭曲返回值
我已经看过这个并尝试实现,但是这样做总是给我一个段错误: Determining index from bsearch and lfind? - 这是供参考的链接。
基本上,我试图从 bsearch 或 lfind 返回的指针中找出数组中的索引。
然后,我调用任一搜索,这似乎工作正常......
根据上面的链接,我正在尝试执行以下操作:
但是,每次我这样做时都会出现段错误。我的逻辑是我将两个 void 指针都转换为 char* 类型,然后减去指针的 b/w 距离,因为你不能在 void 上进行指针运算。我将其除以每个元素的大小以返回索引,该索引需要转换为 int。我在这里想念什么?
编辑:将 sizeof(cv->elemsz) 更改为 elemsz 确实返回了正确的索引。但是,现在的问题是,如果使用 qsort 对向量进行排序,它会返回错误的值(预期为 20 时的索引为 10,等等)。
c++ - C++11 和 C++14 中的 `bsearch` 规范有缺陷吗?
在我对这个问题的回答之后,在 C++11 和 C++14 中:
[C++11, C++14: 25.5/2]:
内容与标准 C 库头文件相同,但<stdlib.h>
有以下例外:
[C++11, C++14: 25.5/3]:
函数签名:替换为两个声明:
两者都具有与原始声明相同的行为。
然而,
[C++11, C++14: 7.5/5]:
如果两个声明将具有相同名称和参数类型列表(8.3.5)的函数声明为同一命名空间的成员,或者将具有相同名称的对象声明为同一命名空间的成员,并且声明赋予名称不同的语言链接,程序格式错误;如果声明出现在不同的翻译单元中,则不需要诊断。[..]
这是缺陷吗?
c - bsearch 与结构指针数组
我有一个结构:
和一个结构数组entry_t * list[MAX];
如果以下函数中存在条目,我尝试使用 bsearch 获取条目:
我的数据库日志
奇怪的是,这sentry
不是空的,而是name
奇怪的东西(随机内存位置)。
谢谢
c - bsearch() 返回 (nil),导致分段错误
bserach() 函数应该返回 NULL,但是当它无法在给定数组中找到键时,我得到 (nil)。怎么了?