发表时间:2022-03-25来源:网络
blog实现了命令行终端布置《算法》(第四版)运行学习环境:
首先确保自己PC的java运行环境正常!
一、到官网下载algs4.jar(本书的标准库)和algs4-data.zip(本书的数据支持文件);
官网下载网址:https://algs4.cs.princeton.edu/code/,找到上面的2个文件,下载到本地。
二、解压algs4-data.zip到自己的文件夹备用;解压algs4.jar,将里面的edu文件(即标准库包edu.princeton.cs.algs4.*)夹留着备用;
三、制作项目工程文件:
1⃣️新建立一个文件夹来存放BinarySearch.java,输入代码并保存(注意:书中代码老了,更新后的最新正确代码已附在文章末尾)
2⃣️将解压后的algs4.jar里面的edu文件夹,复制粘贴到该.java文件的目录下
3⃣️在刚才解压algs4-data.zip生成的文件夹里面找到TinyW.txt和TinyT.txt,复制到该.java文件夹下
项目目录入下所示:

四、打开终端(命令行工具),cd定位到该.java的目录,执行命令:
javac BinarySearch.java java BinarySearch TinyW.txt < TinyT.txt即可运行出结果。

附录:BinarySearch.java
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{ private BinarySearch() { } public static int indexof(int[] a, int key){ //数组必须是有序的 int lo = 0; int hi = a.length - 1; while(lo a[mid]) lo = mid + 1; else return mid; //mid是数组中的坐标 } return -1; } public static int rank(int key, int[] a){ return indexof(a, key); } public static void main(String[] args){ In in = new In(args[0]); int[] allowlist = in.readAllInts(); Arrays.sort(allowlist); while(!StdIn.isEmpty()){ //读取数字,如果不存在白名单上将其打印 int key = StdIn.readInt(); if(BinarySearch.indexof(allowlist, key) == -1) StdOut.println(key); } } }
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14