您的位置:首页 > 房产 > 建筑 > 新疆网络教育学院_中国招标与采购网官网_网络营销方案怎么写_今天刚刚发生的新闻最新新闻

新疆网络教育学院_中国招标与采购网官网_网络营销方案怎么写_今天刚刚发生的新闻最新新闻

2024/12/23 8:54:34 来源:https://blog.csdn.net/2301_78566776/article/details/143997579  浏览:    关键词:新疆网络教育学院_中国招标与采购网官网_网络营销方案怎么写_今天刚刚发生的新闻最新新闻
新疆网络教育学院_中国招标与采购网官网_网络营销方案怎么写_今天刚刚发生的新闻最新新闻

目录

用数组实现栈和队列

一、数组实现栈

1.stack类

2.测试

二、数组实现队列

1.Queue类

2.测试


查询——数组:数组在内存中是连续空间

增删改——链表:链表的增删改处理更方便一些

满足数据先进后出的特点的就是栈,先进先出就是队列

用数组实现栈和队列

一、数组实现栈
1.stack类
public class StackDemo {private int[] arr;private int i=-1;public StackDemo(int size) {arr=new int[size];}//入栈public void add(int value) {//栈满判断if(i==arr.length-1) {System.out.println("stack full!");return;}i++;arr[i]=value;}//出栈public int get() {//栈空判断if(i==-1) {System.out.println("stack empty");return -1;}int data=arr[i];i--;return data;}
}

main方法调用

package 数据结构;public class test2 {public static void main(String[] args) {StackDemo stack=new StackDemo(5);stack.add(1);stack.add(2);stack.add(6);stack.add(3);stack.add(9);System.out.println(stack.get());System.out.println(stack.get());System.out.println(stack.get());System.out.println(stack.get());System.out.println(stack.get());System.out.println(stack.get());}
}
2.测试

栈满测试

 栈空测试


二、数组实现队列

注意观察,入队过程中我们使用到另一个“幽灵指针”,这是通过“r%arr.length”来实现的,本质上r的大小是不变的。

1.Queue类
package 数据结构;public class QueueDemo {private int arr[];private int c=0;private int r=0;public QueueDemo(int size) {arr=new int[size];}public void add(int value) {// 栈满判断if(r-c==arr.length) {System.out.println("Queue full!");return;}arr[r%arr.length]=value;r++;}public int get() {// 栈空判断if(r==c) {System.out.println("Queue empty!");return -1;}int data=arr[c%arr.length];c++;return data;}}

 main方法调用

package 数据结构;public class test3 {public static void main(String[] args) {QueueDemo queue=new QueueDemo(5);queue.add(1);queue.add(2);queue.add(6);queue.add(3);queue.add(9);queue.add(10);System.out.println(queue.get());System.out.println(queue.get());System.out.println(queue.get());System.out.println(queue.get());System.out.println(queue.get());queue.add(4);System.out.println(queue.get());System.out.println(queue.get());}
}
2.测试

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com