用Eclipse轻松解决算法algorithms 4 第一个二分查找法需要重定向和读取指定文件路径

来源:互联网 发布:计算机编程教学视频 编辑:程序博客网 时间:2024/05/17 08:54

在阅读算法(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);        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

发现书本中是用命令行直接执行程序

% java BinarySearch tinyW.txt < tinyT.txt509913
  • 1
  • 2
  • 3
  • 4

但是命令行直接运行的话,在编译时需要使用algs4.jar包中的类,所以我们编译以及运行代码时都需要指定jar包参数,觉得麻烦,想直接配置在Eclipse中,网上查找大量资料,总结出以下方式:

tinyT.txt文件重定向设置,单击Run As—>Run Configurations

这里写图片描述

选择Common项,勾选Input File复选框,选择要输入的tinyT.txt文本

这里写图片描述

设置输入参数,同样在Run Configurations中,Arguments

这里写图片描述

注意: 此处参数tinyW.txt是相对路径,如跟图示配置一致,请将tinyW.txt文件拷贝至项目根路径,即/src/ 上级目录。

执行Run,成功!

这里写图片描述


注:本人一开始碰到这个问题的时候用的是intellij idea ,但是无奈idea里面没有common项的input file 。所以后来又下了一个eclipse来解决这个问题,也花了我不少时间,希望读者如果有方法能在intellij 上直接解决,愿不吝赐教,作者感激不尽。

阅读全文
0 0
原创粉丝点击