文章列表
int 类型的范围是 -2147483648...2147483647(-2^31 ~ 2^31-1)
因为int 所占的字节数为4个字节,即32位.对于正数,它的最高位是0,所以它最大能表示的数是01111....(后面共31个1,2^31-1)而这个数化成十进制即是2147483647.对于负数也是同理。
MyStack 见:http://pxuxian.iteye.com/blog/2031288
/**
* 使用两个栈实现一个队列, 方法:在一个栈进行入队操作,出队时把栈里的数据移到另外一个栈,在另外那个栈进行出操作
*
* @author xuxianpan
*/
public class MyQueen<V> {
private MyStack<V> stack1 = new MyStack<V>();
private MyStack<V> stack2 = new MyStack<V&g ...
import java.util.ArrayList;
import java.util.List;
public class MyStack<V> {
private List<V> stack = new ArrayList<V>();
private int top = -1;
public boolean isEmpty() {
return top < 0;
}
public void push(V v) {
top++;
...
ArrayList内部是使用数组存放数据,在调用add时需要判断数组长度是否够,不够则新增数组长度,新的数数组长度和旧长度的关系为:
int newCapacity = (oldCapacity * 3) / 2 + 1;
public boolean add(E e) {
ensureCapacity(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
public void ensureCapacity(int minCapacity) {
...