對於紅寶書算法第四版,基於Windows 7系統使用IntelliJ IDEA刷各個算法時,需要配置環境,現對步驟做一下總結:
1.按照正常套路安裝IDEA軟件及相關版本JKD,並完成相關的配置。
2.將下載好的algs4.jar放在IDEA對應的JDK目錄下lib文件夾中。
3.導入到IDEA的方法:
打開File->Project Structure->Modules->Dependencies
,然後點擊右上角加號,選擇JARs or directories
,找到剛纔algs4.jar
所在目錄,選擇algs4.jar
,確認即可。
4.配置環境變量:
在系統變量中添加變量 JAVA_HOME,變量值爲JDK的安裝目錄
在系統變量中添加CLASSPATH:.;%JAVA_HOME%\lib\algs4.jar;%JAVA_HOME%\lib;
在系統變量的Path中添加%JAVA_HOME%\bin;
5.重啓電腦讓環境變量生效。
6.把下載的數據文件algs4-data.zip
解壓到一個文件夾,比如D:\work\javalearning
,以運行BinarySearch.java爲例。
- 按照步驟編寫BinarySearch.java
-
package com.scott.algs; 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) { //int [] whitelist = In.readInts(args[0]); //int[] whitelist = In.readAllInts(); In in = new In(args[0]); int[] whitelist = in.readAllInts(); Arrays.sort(whitelist); while(!StdIn.isEmpty()) { int key = StdIn.readInt(); if (rank(key,whitelist)==-1) StdOut.println(key); } } }
再點擊IDEA左下方
Terminal
,進入命令行模式,切換至BinarySearch.java對應的目錄下比如D:\work\javalearning\src\com\scott\algs> - 編譯
javac BinarySearch.java
切換路徑至src對應的目錄下(這一步非常重要,跳過這一步會報錯)
D:\work\javalearning\src>- 運行 java com.scott.algs.BinarySearch D:\work\javalearning\algs4-data\tinyW.txt < D:\work\javalearning\algs4-data\tinyT.txt
編譯的命令爲:javac [文件位置]
運行的命令爲:java [包名.類名]