gpt4 book ai didi

c# - ArrayList 二进制搜索

转载 作者:可可西里 更新时间:2023-11-01 09:03:36 26 4
gpt4 key购买 nike

我正在忙着准备 MCTS 70-536 考试,根据考试书(Microsoft Press - .NET Framework - Application Development Foundation Self Paced Training Kit 2nd Edition),这段代码示例:

ArrayList al = new ArrayList();
al.AddRange(new string[] { "Hello", "world", "this", "is", "a", "test" });
Console.WriteLine(al.BinarySearch("this"));

将值“2”输出到控制台,因为项目“this”位于索引 2。同意这是我运行该代码时得到的输出。

但是如果我运行

Console.WriteLine(al.BinarySearch("world"));

我希望在控制台中获得值 1,因为“world”的索引为 1,但我得到的是值 -7?

谁能解释一下这是如何工作的?

谢谢

最佳答案

您正在执行二进制搜索的数组未排序。这是 BinarySearch 的要求发挥作用。

未排序,混淆了搜索算法,并使其认为“world”应该在第 7 位,但它不在数组中:结果为 -7。

关于c# - ArrayList 二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com