C# ArrayList中的BinarySearch(Object, IComparer)方法

ArrayList的BinarySearch(对象,IComparer)方法使用指定的比较获取元素的整个排序的arrayList,并返回元素的索引。

C# ArrayList中的BinarySearch(Object, IComparer)方法示例

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(10, new SimpleStringComparer());

      Console.WriteLine("Binary search, item found at index:{0}", index);
  }   
}
日期:2020-04-11 22:50:15 来源:oir作者:oir