首页 > 其他 > 详细

数据结构-堆栈

时间:2015-05-21 07:51:47      阅读:194      评论:0      收藏:0      [点我收藏+]

堆栈是操作受限的线性表。堆栈只能对表尾进行读出写入操作,这个表尾称为栈顶,表头称为栈底,没有数据元素的称为空栈。堆栈是后进先出的线性表。


在java中,因为Stack<E>的父类是Vector<E>,所以Stack<E>也是线程安全的。

Stack.java(80):     public synchronized E pop() {

Stack.java(98):     public synchronized E peek() {

Stack.java(130):     public synchronized int search(Object o) {


ArrayList,LinkedList和Vector只要遵循堆栈操作的规则,是完全可以实现堆栈的功能的。

堆栈一般有以下操作:

push = add :将元素推入栈中。

pop = { obj = peek();remove(size() - 1); return obj;} :取出栈顶元素,并将该元素从栈中删除。

peek = get(size() - 1) :取出栈顶元素,不执行删除。


实例:

Stack stack = new Stack();

for ( int i = 0; i &lt; args.length; i++){

    stack.push(new Integer(args[i]));

}

while(!stack.empty()){

    Object obj = stack.pop();

    System.out.println(obj);

}

java 类 1 2 3 4 5 6 7 8 9

9

8

7

6

5

4

3

2

1


数据结构-堆栈

原文:http://my.oschina.net/u/660460/blog/417477

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!