《算法》第四版 IDEA 運行環境的搭建
在搭建之初,我是想不到會出現如此之多的問題。我看了網上的大部分教程,都是基於Eclipse搭建的,還沒有使用IDEA搭建的教程。我相信許多讀者跟我一樣,在學習Java的時候沒有使用過命令行編譯的形式去運行Java代碼,直接使用Eclipse工具去進行開發的,因此,當看到書中
% java BinarySerach xxx.txt < xxx.txt
的時候,不免有點不知所措。筆者現在使用的IDE是IDEA,因此是想要在IDEA下搭建環境,好了廢話不多說了,開始吧。
概述
環境的搭建分以下幾個步驟:
- Java 運行環境的搭建
- IDEA 的安裝與破解
- 《算法》 運行庫的下載與配置
- IDEA 工程的創建以及在IDEA中使用命令行
前兩個步驟就不寫了,網上的教程一大把。
《算法》 運行庫的下載與配置
- 首先,我們需要下載作者提供的運行庫,下載地址: 點我下載 ,

下載紅色框框的內容
我們需要下載兩個內容,一個是庫,一個是測試的數據。庫是algs4.jar,數據是algs4-data.zip。
- 在C盤建立目錄 C:\Program Files\algs4 將 algs4.jar 放入其中,如下所示:

algs4.jar的存放位置
ps:這里你可以放在任何你想要放的地方,筆者只是習慣放在C盤而已。
- 在CLASSPATH環境變量中,添加值 C:\Program Files\algs4\algs4.jar (就是剛剛存放algs4.jar的路徑),如下所示:

環境變量的設置
網上說,要加個 分號 ,具體我也沒去深究,就這樣吧。
這樣下來,就完成了庫的配置了。還有一個測試數據的使用,在下一節。
IDEA 工程的創建以及在IDEA中使用命令
- 創建一個HelloWorld工程

enter description here
選擇你的JDK,我使用的是1.6。
- 為項目添加jar包

Project Structure

添加jar包
- 解壓測試數據到src目錄下:

解壓測試數據到src目錄下
- 編寫測試代碼(1.3 節里的代碼)
package Test;
public class FixedCapacityStackOfStrings {
private String[] stack;
private int N;
FixedCapacityStackOfStrings(int cap){
stack = new String[cap];
}
public String pop(){
return stack[--N];
}
public boolean isEmpty(){
return N==0;
}
public int size(){
return N;
}
public void push(String s){
stack[N++] = s;
}
}
package Test;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
public class FixedCapacityStackOfStringTest {
public static void main(String[] args){
FixedCapacityStackOfStrings s = new FixedCapacityStackOfStrings(100);
while (!StdIn.isEmpty()){
String item = StdIn.readString();
if(!item.equals("-")){
s.push(item);
}else if(!s.isEmpty()){
StdOut.print(s.pop() + " ");
}
}
StdOut.println("("+s.size()+" left"+")");
}
}

測試結果
以上,就好了。