java數據結構之棧

基本介紹

棧只允許訪問一個數據元素,即最後插入的數據元素。移除這個元素才能訪問倒數第二
個插入的數據,以此類推。

特點: 後進先出。

效率: 數據元素入棧和出棧的時間複雜度爲O(1)。棧操作所有消耗的時間不依賴於棧
中的數據的個數,因此操作時間很短。

java堆棧類介紹

棧是Vector的一個子類,它實現了一個標準的先進後出的棧。
堆棧只定義了默認構造函數,用來創建一個空棧。堆棧除了包括由Vector定義的所有方
法,也定義了自己的一些方法。
如:
方法名 方法描述
boolean empty() 測試堆棧是否爲空
Object peek() 查看棧頂的對象,但不從棧中移除
Object pop() 移除棧頂的對象,並作爲此函數的值返回該對象
Object push(Object element) 把項壓入到堆棧頂
int search(Object element) 返回對象在堆棧中的位置,以1爲基數

代碼演示

/**
 *   利用棧特性實現單詞反轉
 * @author Mr.qian
 *
 */
public class test {

	public static void main(String[] args) {
		System.out.println(reverse("hello world"));
	}
	
	public static String reverse(String words) {
		Stack stack = new Stack();
		char[] wchar = words.toCharArray();
		for(char c : wchar) {
			stack.push(String.valueOf(c));
		}
		String reverse = "";
		//使用父類方法判空
		while(!stack.isEmpty()) {
			reverse += stack.pop();
		}
		return reverse;
	}
}

發佈了15 篇原創文章 · 獲贊 3 · 訪問量 543
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章