首页 / JAVA / Java栈和队列 实现自己的栈和队列
Java栈和队列 实现自己的栈和队列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java栈和队列 实现自己的栈和队列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2226字,纯文字阅读大概需要4分钟。
内容图文
![Java栈和队列 实现自己的栈和队列](/upload/InfoBanner/zyjiaocheng/600/88732b225fef456db1c9cdec26542e73.jpg)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
什么是队列
队列我的理解就是排队,先到先出,只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表
入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头
简单实现队列
package Queue;
class Node{
int val;
Node next=null;
public Node(int val) {
this.val = val;
}
@Override
public String toString() {
return " " + val ;
}
}
public class MyQueue {
private Node head = null;
private Node tail = null;
private int size=0;
public void print(){
Node node = head;
while(node!=null){
System.out.print(node);
node = node.next;
}
System.out.println();
}
//入队列(尾插)
public void offer(int val){
Node node =new Node(val);
if(size ==0){
head = node;
tail = node;
size++;
return;
}
tail.next = node;
tail = node;
size++;
}
//出队列(头删)
public Integer poll(){
if(size == 0){
return null;
}
int ret = head.val;
head = head.next;
if(head == null){
tail = null;
}
size--;
return ret;
}
//返回队首元素
public Integer peek(){
if(size == 0){
return null;
}
return head.val;
}
}
什么是栈
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底;
压栈:栈的插入操作叫做进栈,入数据在栈顶
出栈:栈的删除操作叫做出栈,出数据在栈顶
简单的实现一个栈
package Queue;
class Node{
int val;
Node next=null;
public Node(int val) {
this.val = val;
}
@Override
public String toString() {
return " " + val ;
}
}
public class MyQueue {
private Node head = null;
private Node tail = null;
private int size=0;
public void print(){
Node node = head;
while(node!=null){
System.out.print(node);
node = node.next;
}
System.out.println();
}
//入队列(尾插)
public void offer(int val){
Node node =new Node(val);
if(size ==0){
head = node;
tail = node;
size++;
return;
}
tail.next = node;
tail = node;
size++;
}
//出队列(头删)
public Integer poll(){
if(size == 0){
return null;
}
int ret = head.val;
head = head.next;
if(head == null){
tail = null;
}
size--;
return ret;
}
//返回队首元素
public Integer peek(){
if(size == 0){
return null;
}
return head.val;
}
}
在标准库中栈和队列的区别
Stack是一个类,拿来可以直接使用
Queue是一个接口,不能直接实例化,需要创建对应的子类
Stack<Integer> stack = new Stack<>();
Queue<Integer> queue = new LinkedList<>();
内容总结
以上是互联网集市为您收集整理的Java栈和队列 实现自己的栈和队列全部内容,希望文章能够帮你解决Java栈和队列 实现自己的栈和队列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。