ArrayList的BinarySearch方法在使用指定的比较器中搜索一个元素中排序的ArrayList中的一系列元素,并返回元素的索引。
例如,如果我们想从ArrayList搜索任何对象,那么首先应该对ArrayList进行排序,然后我们执行搜索。
C# ArrayList二进制搜索示例
public class SimpleStringComparer : IComparer { int IComparer.Compare(object x, object y) { int cmpstr = (int)x; return cmpstr.CompareTo((int)y); } } public class MyArrayList : ArrayList { public static void Main() { //Creates a new ArrayList. MyArrayList numbers = new MyArrayList(); numbers.Add(10); numbers.Add(21); numbers.Add(54); numbers.Add(3); numbers.Add(2); numbers.Add(10); numbers.Add(5); //display the array Console.WriteLine("The number of elements in the arraylist are:"); foreach (int i in numbers) { Console.WriteLine(i); } //BinarySearch requires a sorted ArrayList.so perform sorting in arraylist by using sort() method numbers.Sort(); //display the sorted element Console.WriteLine("After sorting the arraylist are:"); foreach (int i in numbers) { Console.WriteLine(i); } //perform searching int index = numbers.BinarySearch(1,6,21, new SimpleStringComparer()); Console.WriteLine("Binary search, item found at index:{0}", index); } }
日期:2020-04-11 22:50:14 来源:oir作者:oir