在阅读算法(Algorithms Fourth Edition) 第4版时,第一个二分查找法的例子时:
package algs.search;
import java.util.Arrays;
import edu.princeton.cs.algs4.In;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
public class BinarySearch {
public static int rank(int key, int[] a)
{
int lo = 0;
int hi = a.length - 1;
while(lo <= hi) {
int mid = lo + (hi - lo) / 2;
if(key < a[mid]) hi = mid - 1;
else if(key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
public static void main(String[] args) {
@SuppressWarnings("deprecation")
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
while(!StdIn.isEmpty()) {
int key = StdIn.readInt();
if(rank(key, whitelist) < 0)
StdOut.println(key);
}
}
}
发现书本中是用命令行直接执行程序
% java BinarySearch tinyW.txt < tinyT.txt
50
99
13
但是命令行直接运行的话,在编译时需要使用algs4.jar包中的类,所以我们编译以及运行代码时都需要指定jar包参数,觉得麻烦,想直接配置在Eclipse中,网上查找大量资料,总结出以下方式:
tinyT.txt文件重定向设置,单击Run As—>Run Configurations
选择Common项,勾选Input File复选框,选择要输入的tinyT.txt文本
设置输入参数,同样在Run Configurations中,Arguments项
注意: 此处参数tinyW.txt是相对路径,如跟图示配置一致,请将tinyW.txt文件拷贝至项目根路径,即/src/ 上级目录。
执行Run,成功!