对于红宝书算法第四版,基于Windows 7系统使用IntelliJ IDEA刷各个算法时,需要配置环境,现对步骤做一下总结:
1.按照正常套路安装IDEA软件及相关版本JDK,并完成相关的配置。
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 [包名.类名]