zoukankan      html  css  js  c++  java
  • 用数组实现栈

    用数组实现栈,设置三个属性
    1、maxSize 用来记录这个数组实现的栈能存放多少个数据
    2、long[] stackArray 定义一个数组栈
    3、top 记录栈顶
    方法有
    1、有参构造函数,创建一个栈,参数是栈的大小
    2、push方法,压入一个数字
    3、pop方法,弹出栈顶的一个数字
    4、peek方法,查看栈顶的数字
    5、isEmpty(),isFull()判断是不是空的栈和栈满了没有
    /**
     * Description:用数组实现栈
     * @author 李弘昊2019年10月29日 
     */
    class StackX
    {
        private int maxSize;        //size of stack array
        private long[] stackArray;
        private int top;            //top of stack
        
        public StackX(int s)        //constructor
        {
            maxSize = s;
            stackArray = new long[maxSize]; //create array
            top = -1;                //no items yet
        }
        
        public void push(long j)    //put item on top of stack
        {
            stackArray[++top] = j;    //increment top,insert item
        }
    
        public long pop()            //take item from top of stack
        {
            return stackArray[top--];//access items,decrement top
        }
        
        public long peek()            //peek at top of stack
        {
            return stackArray[top];
        }
        
        public boolean isEmpty()    //true if stack is empty
        {
            return(top == -1);
        }
        
        public boolean ifFull()        //true if stack is full
        {
            return(top == maxSize-1);
        }
        
    }
    
    public class StackApp
    {
        public static void main(String[] args)
        {
            StackX theStack = new StackX(10);    //make new stack 
            
            theStack.push(20);                    //push items onto stack
            theStack.push(40);
            theStack.push(60);
            theStack.push(80);
            
            System.out.println("the top value:"+theStack.peek());
            
            while(!theStack.isEmpty())            //until it'empty
            {
                System.out.print(theStack.pop());
                System.out.print(" ");
            }
        }
    }
    View Code

    我们用数组实现栈要先规定栈的大小,栈还可以用链表实现,用链表实现可以不先规定栈的容量。

  • 相关阅读:
    Vue之VsCode开发工具配置
    解决 WPF AllowsTransparency = true 和 Webbrowser 等控件显示冲突
    Html 之div+css布局之css选择器
    Html 之div+css布局之css基础
    Html 之菜单导航(二)
    Html 开发工具 之Hbulider
    设置form窗体背景透明
    中型WPF客户端开发项目总结(4)
    中型WPF客户端开发项目总结(3.3.4)
    中型WPF客户端开发项目总结(3.3.3)
  • 原文地址:https://www.cnblogs.com/lhh666/p/11761365.html
Copyright © 2011-2022 走看看