棧
基本介紹
棧只允許訪問一個數據元素,即最後插入的數據元素。移除這個元素才能訪問倒數第二
個插入的數據,以此類推。
特點: 後進先出。
效率: 數據元素入棧和出棧的時間複雜度爲O(1)。棧操作所有消耗的時間不依賴於棧
中的數據的個數,因此操作時間很短。
java堆棧類介紹
棧是Vector的一個子類,它實現了一個標準的先進後出的棧。
堆棧只定義了默認構造函數,用來創建一個空棧。堆棧除了包括由Vector定義的所有方
法,也定義了自己的一些方法。
如:
方法名 |
方法描述 |
boolean empty() |
測試堆棧是否爲空 |
Object peek() |
查看棧頂的對象,但不從棧中移除 |
Object pop() |
移除棧頂的對象,並作爲此函數的值返回該對象 |
Object push(Object element) |
把項壓入到堆棧頂 |
int search(Object element) |
返回對象在堆棧中的位置,以1爲基數 |
代碼演示
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;
}
}