1 概念
栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵循先进后出的原则。
栈的实现:
1采用顺序表来实现,即是尾插加尾删;
2采用链表来实现,即头尾都可以;
由于顺序表比较简单,我们接下来就是要顺序表来完成栈的实现。
2 利用顺序表来实现栈
package datastructure;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
public class MyStack {
private int[]array=new int[5];
private int size=0;
public void push(int val){
array[size++]=val;
}
public int pop(){
return array[--size];
}
@Override
public String toString() {
return "MyStack{" +
"array=" + Arrays.toString(array) +
'}';
}
public int peek(){
return array[size-1];
}
public boolean isEmpty(){
return size==0;
}
public int size(){
return size;
}
}