数据结构--数组实现栈和队列

引入

什么是 数据结构?(・∀・(・∀・(・∀・*)

数据结构是计算机中存储、组织和管理数据的方式,它决定了数据如何被存储以及如何进行高效访问和修改。o(* ̄▽ ̄*)ブ

什么是算法?

算法本质上就是对数据进行一系列增删改查。

什么是栈?

栈就是一种遵循**"后进先出"**规则的一种数据结构。

什么是队列?

队列就是遵循**"先进先出,后进后出"**规则的一种数据结构。

有了上述概念后,就可以编写以下入栈出栈,入队列出队列的函数了。

1.入栈和出栈

java 复制代码
public class Stack{
    private int[] arr;
    private int i=-1;
    
     public Stack(int size){
         arr[]=new int[size];            
     }
     public void put(int value){
         //判断栈满(否则会越界错误)
         if(i==arr.length-1){
             System.out.println("栈已经满了!");
             return;       
         }     
         //没满就填入数据
          i++;
         arr[i]=value; 
     }
     public int get(){
         //同样,判断是否已空
         if(i==-1){
             System.out.println("栈已经空了!");
             return -100000;                  
         }     
         //取数据
         value=arr[i];
         i--;
         return value;
     }

}

2.入队列和出队列

java 复制代码
public class Queue{
    private int[] arr;
    private int l=0;
    private int r=0;
    
    
     public Queue(int size){
         arr[]=new int[size];            
     }
     
      public void put(int value){
           //判断是否满
           if(r-l=arr.length){
               System.out.println("已经满了!");
               return;              
           }    
           //实现循环队列的关键
           arr[l%arr.length]=value;
           l++;
      }
       public int get(int value){
           //判断是否满
           if(r==l){
               System.out.println("已经空了!");
               return -10000;              
           }    
           //实现循环队列的关键
           value=arr[c%arr.length];
           c++;
           return value;
      }
}

以上就是两个用数组实现入栈出栈,入队列和出队列的类。

相关推荐
文丑颜不良啊14 分钟前
LeetCode2541~2560题目解析
java·leetcode
瑞雪兆丰年兮22 分钟前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
Highcharts.js1 小时前
Highcharts智能数据分析平台Orbit 多语言配置技术文档
java·前端·javascript·highcharts·orbit·智能数据分析·设置文档
Rain的Java大神之路1 小时前
设计一套生产级 API 接口:从契约、安全、幂等到限流,我踩过的坑都在这了
java·后端·面试
SimonKing1 小时前
零配置也能白嫖前沿大模型!dsh-our-free-model插件真香警告
java·后端·程序员
nice_lcj5201 小时前
【从零理解 Spring AI · 15】让检索更准:先宽召回,再精排序
java·后端·rag·spring ai·ai应用开发·检索优化·重排序
zaizai10072 小时前
算法(左程云)1
数据结构
杨凯凡2 小时前
Spring Boot 链路追踪实战:Micrometer、TraceId 与异步线程上下文传播
java·spring boot·后端
计算机毕设定制辅导-无忧学长2 小时前
《基于Spring Boot的迷游哈游戏综合服务平台的开发》
java·vue.js·spring boot·mysql·迷游哈游戏综合服务平台