目錄
什麼是棧
棧是一種線性結構,後進者先出,先進者後出,這就是典型的“棧”結構。只能在棧頂操作元素,
棧主要包含兩個操作,入棧和出棧,也就是在棧頂插入一個數據和從棧頂刪除一個數據。對於找的實現,可以通過數組實現也可以通過鏈表實現
java數組實現棧
package com.javayihao.array;
/**
* 使用數組實現順序棧
*
* @author javayihao
*
*/
public class MyStack{
//數組實現
private String data[];
//棧容量
private int capacity;
//元素個數
private int size;
//初始化方法
public MyStack(int n){
this.data = new String[n];
this.capacity=n;
this.size=0;
}
/**
*入棧操作
*/
public void push(String s) {
if(size>capacity){
throw new RuntimeException("容量超出");
}
data[size]=s;
++size;
}
/**
* 出棧操作
*/
public void pop(){
if (size==0) {
throw new RuntimeException("空棧");
}
--size;
}
/**
* 查看所有棧元素
*/
public void print() {
for(int i=0;i<size;i++){
System.out.println(data[i]);
}
}
public static void main(String[] args) {
MyStack stack = new MyStack(3);
stack.push("a");
stack.push("bbb");
stack.push("cc");
stack.pop();
stack.print();
}
}