package com.structure.demo; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class StackActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_stack); ArrayStack arrayStack = new ArrayStack(5); arrayStack.push(1); arrayStack.push(2); arrayStack.push(3); arrayStack.push(4); arrayStack.push(5); arrayStack.push(6); int res = arrayStack.pop(); } } class ArrayStack { private int maxSize; private int top = -1; private int[] stack; public ArrayStack(int maxSize) { this.maxSize = maxSize; stack = new int[maxSize]; } /** * 判断栈是不是空的 */ public boolean isEmpty() { return top == -1; } /** * 判断栈是不是满的 */ public boolean isFull() { return top == maxSize - 1; } /** * 入栈 */ public void push(int value) { if (isFull()) { Log.i("tag","栈满"); return; } top++; stack[top] = value; } /** * 出栈 */ public int pop() { if (isEmpty()) { throw new RuntimeException("栈为空"); } int res = stack[top]; top--; return res; } }
算法和数据结构——栈的使用
最新推荐文章于 2021-10-21 09:00:00 发布