为FixedCapacityStackOfStrings添加一个方法isFull()。
FixedCapacityStackOfStrings:
/**
* Description :
* Author : mn@furzoom.com
* Date : Sep 28, 2016 11:23:52 AM
* Copyright (c) 2013-2016, http://furzoom.com All Rights Reserved.
*/
package com.furzoom.lab.algs.ch103;
/**
* ClassName : FixedCapacityStackOfStrings <br>
* Function : TODO ADD FUNCTION. <br>
* date : Sep 28, 2016 11:23:52 AM <br>
*
* @version
*/
public class FixedCapacityStackOfStrings
{
private String[] a; // stack entries
private int n; // size;
public FixedCapacityStackOfStrings(int cap)
{
a = new String[cap];
}
public boolean isEmpty()
{
return n == 0;
}
public int size()
{
return n;
}
public void push(String item)
{
a[n++] = item;
}
public String pop()
{
return a[--n];
}
public boolean isFull()
{
return n == a.length;
}
public static void main(String[] args)
{
}
}
测试:
/**
* Description :
* Author : mn@furzoom.com
* Date : Sep 28, 2016 11:26:45 AM
* Copyright (c) 2013-2016, http://furzoom.com All Rights Reserved.
*/
package com.furzoom.lab.algs.ch103;
import edu.princeton.cs.algs4.StdIn;
/**
* ClassName : E10301 <br>
* Function : TODO ADD FUNCTION. <br>
* date : Sep 28, 2016 11:26:45 AM <br>
*
* @version
*/
public class E10301
{
public static void main(String[] args)
{
FixedCapacityStackOfStrings s;
s = new FixedCapacityStackOfStrings(3);
while (!StdIn.isEmpty())
{
String item = StdIn.readString();
if (s.isFull())
{
System.out.println("Stack is full.");
break;
}
s.push(item);
}
}
}结果:
>java -cp ".;../lib/algs4.jar" com .furzoom.lab.algs.ch103.E10301 to be or not Stack is full.