1. 程式人生 > >演算法第四版環境配置

演算法第四版環境配置

最近在學習演算法第四版的時候,遇到一些問題,花了好久才解決,現在把自己的解決辦法寫下來,幫助以後學習這本書的人

現在已經不需要stdlib-package.jar和algs4-package.jar等之類的jar包了  只需要去官網下載最新版的algs4.jar一個就夠了

  還有就是如何使用args輸入的問題

 比如如Random.java那個例子    點選run->configurations->Arguments    直接在Program arguments 中輸入 5   100.0  200.0  中間是一個空格  args[0]就是5

還有BinarySearch.java   書上的程式碼有問題  建議打直接去官網COPY   上面的連結那一頁就有

BinarySearch.java    後面是tinyW.txt和tinyT.txt    

還有args的問題  看我的程式碼吧         點選run->configurations->Arguments    直接在Program arguments 中輸入 白名單檔名 tinyW.txt    

package programming_Modeling_1_1;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

import edu.princeton.cs.algs4.In;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

public class BinarySearch {
 public static int indexOf(int[] a, int key) {
  int lo = 0;
  int hi = a.length - 1;
  while (lo <= hi) {
   // Key is in a[lo..hi] or not present.
   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) {

  int[] whitelist=In.readInts(args[0]);
  Scanner stdin=null;
  try {
   stdin=new Scanner(new File("tinyT.txt"));
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  Arrays.sort(whitelist);
  while(stdin.hasNext()){
   int key=stdin.nextInt();
   if(BinarySearch.indexOf(whitelist, key) == -1){
    StdOut.println(key);
   }
  }
 }
}

 輸出結果為 50 99 13

這樣做應該就沒問題了     其中tinyW.txt就是白名單檔案  過濾掉所有tinyT中出現而白名單檔案也存在的數字  最後輸出的是tinyW不存在的tinyT存在的幾個數字
  一定要在