堆棧--Stack類學(xué)習(xí)
?
??? 最近學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的時候,用java實現(xiàn)了一下堆棧,就是用stack這個類,在這里記錄一下學(xué)習(xí)過程。
?
?
Class Stack<E>
?
?
Method Summary
|
boolean
|
empty
()
????????? Tests if this stack is empty.
|
?
E
|
peek
()
????????? Looks at the object at the top of this stack without removing it from the stack.
|
?
E
|
pop
()
????????? Removes the object at the top of this stack and returns that object as the value of this function.
|
?
E
|
push
(
E
item)
????????? Pushes an item onto the top of this stack.
|
int
|
search
(
Object o)
????????? Returns the 1-based position where an object is on this stack.
|
?
?
?
另外還繼承了java.util.Vector<E>中的基本方法,常見的用法如下所示:
?
?
import java.util.*;
?
public class kkk{
public static void main(String args[]){
? int m = 1;
? Stack<Integer> a = new Stack<Integer>();
?
? a.push(m);?? //壓入1
? a.push(m+1); //壓入2
? a.push(m+2); //壓入3
? a.push(m+3); //壓入4
? a.push(m+4); //壓入5
??? System.out.println(a.push(m+5)); //壓入6,并返回當前值
?
??? System.out.println(a.empty());?? //判斷棧是否為空,為空則TRUE
??? System.out.println(a.isEmpty()); //判斷棧是否為空,為空則TRUE
???
? System.out.println(a.size());???? //返回當前棧長度
? System.out.println(a.toString()); //返回當前棧的內(nèi)容
?
? System.out.println(a.lastElement());? //返回當前棧中的最后一個元素6
? System.out.println(a.firstElement()); //返回當前棧中的第一個元素1
?
? System.out.println(a.peek()); //返回當前值6
? System.out.println(a.pop());? //返回當前值并壓出6
? System.out.println(a.pop());? //返回當前值并壓出5
?
? System.out.println(a.search(3));
? //搜索“3”在棧中出現(xiàn)的位置,頂端為1,其余依次累加,若有多個則返回第1個的位置
?
? a.add(m+9); //壓入10,跟push一樣的效果
? a.clear(); //清空棧
?
??? System.out.println(a.empty());?? //判斷棧是否為空,為空則TRUE
??? System.out.println(a.isEmpty()); //判斷棧是否為空,為空則TRUE
?
}
}
?
?
?