使用数组模拟队列
| public class Queue { |
| |
| private int[] num= new int[5]; |
| |
| private int len=0; |
| |
| public int size(){ |
| return this.len; |
| } |
| |
| |
| public int add(int n){ |
| if (len<num.length){ |
| num[len]=n; |
| len++; |
| return len; |
| }else { |
| return -1; |
| } |
| } |
| |
| |
| public int get(){ |
| if (len>0){ |
| int n=num[0]; |
| |
| for (int i = 0; i < len-1; i++) { |
| num[i]=num[i+1]; |
| } |
| len--; |
| return n; |
| }else { |
| return -1; |
| } |
| } |
| |
| } |
| public class test { |
| public static void main(String[] args) { |
| Queue q=new Queue(); |
| |
| q.add(10); |
| q.add(20); |
| q.add(30); |
| q.add(40); |
| q.add(50); |
| |
| |
| System.out.println(q.size()); |
| |
| |
| while (q.size()>0){ |
| System.out.println(q.get()); |
| } |
| |
| |
| q.add(10); |
| q.add(20); |
| q.add(30); |
| q.add(40); |
| int a = q.add(50); |
| int a1 = q.add(60); |
| System.out.println(q.size() + "," + a + "," + a1); |
| |
| |
| while (q.size()>0){ |
| System.out.println(q.get()); |
| } |
| System.out.println(q.get()); |
| |
| } |
| } |
| public class Que { |
| |
| private int[] num= new int[3]; |
| |
| |
| private int head=-1; |
| |
| |
| private int end=-1; |
| |
| |
| private int len=0; |
| |
| public int size(){ |
| return this.len; |
| } |
| |
| |
| public int add(int n){ |
| if (len==num.length){ |
| System.out.println("队列已加满"); |
| return -1; |
| }else{ |
| end++; |
| if(end>=num.length-1){ |
| end=0; |
| } |
| num[end]=n; |
| len++; |
| return len; |
| } |
| } |
| |
| |
| public int get(){ |
| if (len==0){ |
| System.out.println("队列已取完"); |
| return -1; |
| }else{ |
| head++; |
| if(head>=num.length-1){ |
| head=0; |
| } |
| int n = num[head]; |
| len--; |
| return n; |
| } |
| } |
| |
| } |
| public class test { |
| public static void main(String[] args) { |
| |
| Que que=new Que(); |
| que.add(10); |
| que.add(20); |
| que.add(30); |
| int q = que.add(40); |
| System.out.println(q); |
| |
| que.get(); |
| que.get(); |
| int q1 = que.add(40); |
| System.out.println(q1); |
| |
| que.get(); |
| que.get(); |
| int q2 = que.get(); |
| System.out.println(q2); |
| |
| } |
| } |
使用数组模拟栈
| public class Zan { |
| |
| int i=5; |
| |
| private int[] num= new int[i]; |
| |
| private int len=0; |
| |
| public int size(){ |
| return this.len; |
| } |
| |
| |
| public void add(int n){ |
| if(len<num.length){ |
| for(int i=len; i>0; i--){ |
| num[i]=num[i-1]; |
| } |
| num[0]=n; |
| len++; |
| }else if(len==num.length){ |
| System.out.println("已经满了"); |
| } |
| } |
| |
| |
| public int get(){ |
| if(len==0){ |
| System.out.println("取完了"); |
| return -1; |
| }else{ |
| int n=num[0]; |
| for(int i=0; i<len-1; i++){ |
| num[i]=num[i+1]; |
| } |
| len--; |
| return n; |
| } |
| } |
| |
| } |
| public class test3 { |
| public static void main(String[] args) { |
| Zan zan=new Zan(); |
| zan.add(10); |
| zan.add(20); |
| zan.add(30); |
| zan.add(40); |
| zan.add(50); |
| System.out.println(zan.size()); |
| zan.add(60); |
| |
| int len = zan.size(); |
| for (int i = 0; i < len; i++) { |
| System.out.print(zan.get() + ","); |
| } |
| System.out.println(); |
| System.out.println(zan.size()); |
| zan.get(); |
| |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-09-29 马踏棋盘算法
2022-09-29 弗洛伊德算法
2022-09-29 迪杰斯特拉算法