用集合模拟栈和队列

简介: 用集合模拟栈和队列
package practice0730;
import java.util.ArrayList;
public class Mstack {
    ArrayList<Integer> arr=new ArrayList<Integer>();
    int top=-1;
    public void push(Integer integer){
        arr.add(top, integer);
        top++;
    }
    public Integer pop() {
        top--;
        int r=0;
        try {
            r=arr.get(top );
            arr.remove(top);
        } catch (Exception e) {
            System.out.println("栈已为空");
            return -1;
        }
        return r;
    }
    public boolean isEmpty() {
        if(top<=0){
            return true;
        }else{
            return false;
        }
    }
}

队列:


package practice0730;


import java.util.ArrayList;


public class quee {

   ArrayList<Integer> arr=new ArrayList<Integer>();

   int top=0;

   int bottom=0;

   public void push(Integer integer){

       arr.add(top, integer);

       top++;

   }

   public Integer pop() {

       int r=0;

       try {

           r=arr.get(0 );

           arr.remove(0);


           top--;

       } catch (Exception e) {

           System.out.println("队列已为空");

           return -1;

       }

       return r;

   }

   public boolean isEmpty() {

       if(top<=0){

           return true;

       }else{

           return false;

       }


   }

}

 


相关文章
|
3天前
栈的基本应用
栈的基本应用
10 3
|
3天前
栈与队列理解
栈与队列理解
9 1
|
3天前
|
存储 算法
数据结构与算法 栈与队列
数据结构与算法 栈与队列
10 0
数据结构与算法 栈与队列
|
3天前
|
C++
数据结构(顺序队列 循环队列
数据结构(顺序队列 循环队列
8 0
|
3天前
|
C++
数据结构(共享栈
数据结构(共享栈
6 0
|
3天前
|
C++
数据结构(顺序栈
数据结构(顺序栈
11 2
|
4天前
|
容器
【栈与队列】栈与队列的相互转换OJ题
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
10 0
|
5天前
|
机器学习/深度学习 算法 测试技术
【单调栈】3113. 边界元素是最大值的子数组数目
【单调栈】3113. 边界元素是最大值的子数组数目
|
4天前
|
存储
【栈】基于顺序表的栈功能实现
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
12 0
|
4天前
|
存储 程序员
什么是堆,什么是栈
什么是堆,什么是栈
6 0