首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java拾遗录四

2012-10-14 
java拾遗录4java拾遗录4一、用数组实现栈操作废话不说,直接上代码?package stack/** *@作者qy *@时间版本

java拾遗录4

java拾遗录4

一、用数组实现栈操作

废话不说,直接上代码

?

package stack;/** *@作者  qy *@时间版本  版本1 下午08:49:07 2011-8-30 */public class StackTestByArray{private Object[] array;private int top;public StackTestByArray(int size){array = new Object[size];top = -1;}//判断栈是否为空public boolean isEmpty(){return top == -1;}//判断栈是否满public boolean isFull(){return size() == array.length;}//返回当前栈的大小public int size(){return top+1;}//弹栈public Object pop(){if (isEmpty()){System.out.println("栈为空");return null;}Object temp = array[top];array[top] = null;top -= 1;return temp;}public void push(Object newValue){if (newValue == null){System.out.println("入栈数据为null");return;}if (isFull()){System.out.println("栈满");return;}top++;array[top] = newValue;}//取栈头元素public Object peek(){if (isEmpty()){System.out.println("栈为空");return null;}return array[top];}}

?这是使用数组实现的栈,很简单。

?

下面是链表实现:(Node类看我前面的文章即可)

?

package stack;import array.Node;/** *@作者  qy *@时间版本  版本1 下午09:15:56 2011-8-30 */public class StackTestByNode{private Node top ;private int count;public StackTestByNode(){top = null;count = 0;}//是否栈满public boolean isFull(){//这里我们用的链表 姑且没有满的状态 内存爆了再说return false;}//是否栈空public boolean isEmpty(){return count == 0;}//大小public int size(){return count;}//入栈public void push(Object value){if (value == null){System.out.println("插入数据为null");return ;}count++;Node n = new Node(value, top);top = n;}//出栈public Object pop(){if (isEmpty()){System.out.println("栈空");return null;}count--;Object value = top.value;top = top.next;return value;}//取栈顶元素public Object peek(){if (isEmpty()){System.out.println("栈空");return null;}return top.value;}}
?

?也是很简单,就不多说了,大家看看就好,不要出声.........

热点排行