码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构-堆栈

时间:2015-05-21 07:53:35      阅读:132      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!