码迷,mamicode.com
首页 > 编程语言 > 详细

数组实现栈

时间:2019-04-12 17:47:44      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:pre   内存   prot   length   ati   count   stack   push   exception   

package com.yudaodata.protocol809.task;


import java.util.Arrays;
import java.util.EmptyStackException;

public class ArrayStack<T> {
private Object[] elements = new Object[16]; //数组大小默认16
private int count; //1.-1后指向栈内末尾的元素 2.统计栈内元素的数量

public void push(T e) {
//数组扩容
if (count == elements.length) {
elements = Arrays.copyOf(elements, 2 * count + 1);
}
elements[count++] = e;
}

public T pop() {
if (count == 0) {
throw new EmptyStackException();
}
T o = (T) elements[--count];
elements[count] = null; //防止内存泄漏
return o;
}

public static void main(String[] args) {
ArrayStack<Integer> arrayStack = new ArrayStack<>();
arrayStack.push(1);
arrayStack.push(2);
arrayStack.push(3);
System.out.println(arrayStack.pop()); //2
System.out.println(arrayStack.pop()); //1
System.out.println(arrayStack.pop()); //1
}

}

数组实现栈

标签:pre   内存   prot   length   ati   count   stack   push   exception   

原文地址:https://www.cnblogs.com/jianwei-dai/p/10697392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!