1. 程式人生 > >棧類Stack

棧類Stack

search oat 對象 3.5 nbsp ati 入棧 apple spa

Stack類是Vector類的子類。它向用戶提供了堆棧這種高級的數據結構。棧的基本特性就是先進後出。即先放入棧中的元素將後被推出。Stack類中提供了相應方法完成棧的有關操作。

基本方法:

public Object push(Object Hem)

將Hem壓入棧中,Hem可以是任何類的對象。

public Object pop()

彈出一個對象。

public Object peek()

返回棧頂元素,但不彈出此元素。

public int search(Object obj)

搜索對象obj,返回它所處的位置。

public boolean empty()

判別棧是否為空。

例1.4 StackApp.java使用了上面的各種方法。

例1.4 StackApp.java。

import java.lang.*;

import java.util.*;

public class StackApp{

public static void main(String args[]){

Stack sta=new Stack();

sta.push("Apple");

sta.push("banana");

sta.push("Cherry");

//壓入的為字符串對象

sta.push(new Integer(2));

//壓入的為Integer的對象,值為2

sta.push(new Float(3.5));

//壓入的為Float的對象,值為3.5

System.out.println("The stack is,"+sta);

//對應棧sta

System.out.println("The top of stack is:"+sta.peek());

//對應棧頂元素,但不將此元素彈出

System.out.println("The position of object Cherry is:"

+sta.search("cherry"));

//打印對象Cherry所處的位置

System.out.print("Pop the element of the stack:");

while(!sta.empty())

System.out.print(sta.pop()+" ");

System.out.println();

//將棧中的元素依次彈出並打印。與第一次打印的sta的結果比較,可看出棧

//先進後出的特點

}

}

運行結果(略)

棧類Stack