一、创建栈
/**
* Created by Xi on 2017/7/29.
* 栈
*/
public class Stack {
private long[] stackArray;
private int maxSize;//栈最大容量
private int top;//栈顶
public Stack(int size){
maxSize=size;
stackArray=new long[maxSize];
top=-1;
}
/**
* 添加元素
*/
public void push(long element){
stackArray[++top]=element;
}
/**
* 查看并删除
*/
public long pop(){
return stackArray[top--];
}
/**
* 查看
*/
public long peek(){
return stackArray[top];
}
/**
* 是否为空
*/
public boolean isEmpty(){
return top==-1;
}
/**
* 是否以满
*/
public boolean isFull(){
return top==maxSize-1;
}
}
/**
* 调用栈
*/
private void stack() {
Stack stack = new Stack(4);
if (!stack.isFull()) stack.push(10);
if (!stack.isFull()) stack.push(20);
if (!stack.isFull()) stack.push(30);
if (!stack.isFull()) stack.push(40);
if (!stack.isFull()) stack.push(50);
while (!stack.isEmpty()) {
long pop = stack.pop();
Log.v(TAG, "取出删除的元素为:" + pop);
}
if (!stack.isFull()) stack.push(60);
if (!stack.isFull()) stack.push(70);
if (!stack.isEmpty()) {
long peek = stack.peek();
Log.v(TAG, "取出元素为:" + peek);
}
}
日志如下:
08-14 18:28:37.243 9687-9687/com.tool.wpn.quicksort V/MainActivity: 取出删除的元素为:40
08-14 18:28:37.244 9687-9687/com.tool.wpn.quicksort V/MainActivity: 取出删除的元素为:30
08-14 18:28:37.244 9687-9687/com.tool.wpn.quicksort V/MainActivity: 取出删除的元素为:20
08-14 18:28:37.244 9687-9687/com.tool.wpn.quicksort V/MainActivity: 取出删除的元素为:10
08-14 18:28:37.244 9687-9687/com.tool.wpn.quicksort V/MainActivity: 取出元素为:70
源码下载地址:点击打开链接