如何在向量上执行二进制搜索?(How to execute binary search on a vector?)

优质
小牛编辑
128浏览
2023-12-01

问题描述 (Problem Description)

如何在向量上执行二进制搜索?

解决方案 (Solution)

下面的示例如何借助Vector类的v.add()方法和Collection类的sort.Collection()方法对向量执行二进制搜索。

import java.util.Collections;
import java.util.Vector;
public class Main {
   public static void main(String[] args) {
      Vector<String> v = new Vector<String>();
      v.add("X");
      v.add("M");
      v.add("D");
      v.add("A");
      v.add("O");
      Collections.sort(v);
      System.out.println(v);
      int index = Collections.binarySearch(v, "D");
      System.out.println("Element found at : " + index);
   }
}

结果 (Result)

上面的代码示例将产生以下结果。

[A, D, M, O, X]
Element found at : 1

以下是另一个借助Vector类的v.add()方法和Collection类的sort.Collection()方法对向量执行二进制搜索的示例。

import java.util.Vector;
import java.util.Collections;
public class Demo {
   public static void main(String[] args) {
      Vector vec = new Vector();
      vec.add("X");
      vec.add("M");
      vec.add("D");
      vec.add("A");
      vec.add("O");
      Collections.sort(vec);
      System.out.println("Sorted Vector: " + vec);
      int found = Collections.binarySearch(vec, "D");
      System.out.println("Element found at : " + found);
   }
}

上面的代码示例将产生以下结果。

Sorted Vector: [A, D, M, O, X]
Element found at : 1