-1
この錆はbinary_search
です。Ok(0)
ではなく、Err(2)
が返されます。バグですか?Rust binary_searchにバグがありますか?
fn main() {
let x = vec!["slot", "s"];
let u = x.binary_search(&"slot");
println!("{:?}", u);
}
この錆はbinary_search
です。Ok(0)
ではなく、Err(2)
が返されます。バグですか?Rust binary_searchにバグがありますか?
fn main() {
let x = vec!["slot", "s"];
let u = x.binary_search(&"slot");
println!("{:?}", u);
}
いいえ。
binary_search
は、ソートの入力を期待していますが、ランダムに発注しました。
チャールズ・バベッジに有名なのは:ごみが入っている、ごみが出ている。
注:C++で、私はあなたはそれがラストだ幸運、非ソート出力のバイナリ検索を実行してクラッシュを持っていた;)
どのようにソートされていないデータがクラッシュを引き起こすどのように...?私は間違った価値を返すことを理解することができます、または*多分*無限ループでも、**クラッシュ**? – Shepmaster
@Shepmaster:境界を読み取って...セグメンテーション違反を起こしています。 –
データのソートが行われただけでなく、配列の長さが誤解されているように聞こえるでしょうか? – Shepmaster