1.首先下载两个jar库:stdlib.jar和algs4.jar包
点击下载
2.将这两个包导入自己的Eclipse中:
步骤如下:
1、右键点击你需要添加jar包的项目。
2、选择“Properties”。
3、然后选择对话框中的“Java Build Path”。
4、选择“Libraries”选项卡,然后点击右边的“Add External JARS“,然后找到你的jar所存放的路径,选择需要添加的jar包。
5、点击“OK”完成。
经过以上步骤即可添加好jar包。
注意:如果是添加系统所带有的jar,在第4步的时候选择“Add JARS”,其他步骤相同。
好了,进入正题:
1.包
背包是一种不支持从中删除元素的集合数据类型,迭代的顺序不确定且与用例无关。
import java.util.Scanner;
import edu.princeton.cs.algs4.Bag;
import edu.princeton.cs.algs4.StdOut;
public class StatsLearn {
public static void main(String[] args)
{
Bag<Double> numbers=new Bag<Double>();
Scanner In=new Scanner(System.in);
int M=In.nextInt(); //数据的个数
for(int i=0;i<M;i++)
numbers.add(In.nextDouble());
int N=numbers.size();
double sum=0;
for(double x:numbers) //foreach语句
sum+=x;
double mean=sum/N;
sum=0;
for(double x:numbers)
sum+=(x-mean)*(x-mean);
double std=Math.sqrt(sum/(N-1));
StdOut.printf("Mean:%.2f\n",mean);
StdOut.printf("Std dev:%.2f\n", std);
}
}
输入:
5
10 20 30 4 0
输出:
Mean:12.80
Std dev:12.21
2.队列
先进先出策略(FIFO)
import edu.princeton.cs.algs4.Queue;
import edu.princeton.cs.algs4.StdOut;
import java.util.Scanner;
public class duile {
public static void main(String[] args)
{
Scanner In=new Scanner(System.in);
int M=In.nextInt();
int[] a=new int[M];
Queue<Integer> q=new Queue<Integer>();
for(int i=0;i<M;i++)
q.enqueue(In.nextInt());
int N=q.size();
for(int i=0;i<N;i++)
StdOut.print(q.dequeue()+" ");
}
}
输入:
5
1 2 3 4 5
输出:
1 2 3 4 5
3.栈
后进先出策略(LIFO)
import java.util.Scanner;
import edu.princeton.cs.algs4.Stack;
import edu.princeton.cs.algs4.StdOut;
public class stack {
public static void main(String[] args)
{
Scanner In=new Scanner(System.in);
int M=In.nextInt();
int[] a=new int[M];
Stack<Integer> q=new Stack<Integer>();
for(int i=0;i<M;i++)
q.push(In.nextInt());
int N=q.size();
for(int i=0;i<N;i++)
StdOut.print(q.pop()+" ");
}
}
输入:
5
1 2 3 4 5
输出:
5 4 3 2 1