java 数据结构中栈和队列的实例详解

栈和队列是两种重要的线性数据结构,都是在一个特定的范围的存储单元中的存储数据。与线性表相比,它们的插入和删除操作收到更多的约束和限定,又被称为限定性的线性表结构。栈是先进后出FILO,队列是先进先出FIFO,但是有的数据结构按照一定的条件排队数据的队列,这时候的队列属于特殊队列,不一定按照上面的原则。
实现栈:采用数组和链表两种方法来实现栈
链表方法:
package com.cl.content01;
/*
* 使用链表来实现栈
*/
public class Stack<E> {
Node<E> top=null;
public boolean isEmpty(){
return top==null;
}
/*
* 出栈
*/
public void push(E data){
Node<E> nextNode=new Node<E>(data);
nextNode.next=top;
top=nextNode;
}
/*
* 出栈
*/
public E pop(){
if(this.isEmpty()){
return null;
}
E data =top.datas;
top=top.next;
return data;
}
}
/*
* 链表
*/
class Node<E>{
Node<E> next=null;
E datas;
public Node(E datas){
this.datas=datas;
}
}
实现队列:同栈一样
链表方法:
package com.cl.content01;
public class MyQueue<E> {
private Node<E> head=null;
private Node<E> tail=null;
public boolean isEmpty(){
return head==null;
}
public void put(E data){
Node<E> newNode=new Node<E>(data);
if(head==null&&tail==null)
head=tail=newNode;
else
tail.next=newNode;
tail=newNode;
}
public E pop(){
if(this.isEmpty())
return null;
E data=head.data;
head=head.next;
return data;
}
public int size(){
int n=0;
Node<E> t=head;
while(t!=null){
n++;
t=t.next;
}
return n;
}
public static void main(String[] args) {
MyQueue<Integer> q=new MyQueue<Integer>();
q.put(1);q.put(3);q.put(2);
System.out.println(q.pop());
System.out.println(q.size());
System.out.println(q.pop());
}
}
class Node<E>{
Node<E> next=null;
E data;
public Node(E data){
this.data=data;
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本能帮助到大家,谢谢大家对本站的支持!
# java
# 数据结构中栈和队列
# java栈和队列的实现
# java 数据结构之栈与队列
# Java深入了解数据结构之栈与队列的详解
# Java 栈和队列的相互转换详解
# Java栈和基础队列的实现详解
# 一起来学习Java的栈和队列
# Java 栈与队列实战真题训练
# Java 栈与队列超详细分析讲解
# Java使用跳转结构实现队列和栈流程详解
# Java线性结构中栈、队列和串的基本概念和特点详解
# Java常见的数据结构之栈和队列详解
# Java 栈和队列的交互实现
# 链表
# 数据结构
# 两种
# 来实现
# 都是
# 如有
# 线性表
# 被称为
# 在一
# 谢谢大家
# 疑问请
# 这时候
# public
# package
# cl
# gt
# Node
# Stack
# lt
# brush
相关文章:
建站之星如何实现五合一智能建站与营销推广?
建站之星代理如何优化在线客服效率?
公司网站的制作公司,企业网站制作基本流程有哪些?
内部网站制作流程,如何建立公司内部网站?
c# 服务器GC和工作站GC的区别和设置
如何解决VPS建站LNMP环境配置常见问题?
北京制作网站的公司,北京铁路集团官方网站?
h5网站制作工具有哪些,h5页面制作工具有哪些?
建站之星后台密码遗忘或太弱?如何重置与强化?
建站之星上传入口如何快速找到?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何在自有机房高效搭建专业网站?
如何有效防御Web建站篡改攻击?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
制作网站外包平台,自动化接单网站有哪些?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何高效完成自助建站业务培训?
公司网站制作价格怎么算,公司办个官网需要多少钱?
香港服务器租用费用高吗?如何避免常见误区?
如何确保FTP站点访问权限与数据传输安全?
定制建站策划方案_专业建站与网站建设方案一站式指南
太原网站制作公司有哪些,网约车营运证查询官网?
建站之星安装提示数据库无法连接如何解决?
如何快速登录WAP自助建站平台?
,想在网上投简历,哪几个网站比较好?
nginx修改上传文件大小限制的方法
如何选择最佳自助建站系统?快速指南解析优劣
建站之星×万网:智能建站系统+自助建站平台一键生成
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
存储型VPS适合搭建中小型网站吗?
个人摄影网站制作流程,摄影爱好者都去什么网站?
建站之星与建站宝盒如何选择最佳方案?
网站制作需要会哪些技术,建立一个网站要花费多少?
如何通过IIS搭建网站并配置访问权限?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
建站10G流量真的够用吗?如何应对访问高峰?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
seo网站制作优化,网站SEO优化步骤有哪些?
建站之星代理费用多少?最新价格详情介绍
如何选择PHP开源工具快速搭建网站?
湖北网站制作公司有哪些,湖北清能集团官网?
建站之星展会模板:智能建站与自助搭建高效解决方案
小型网站制作HTML,*游戏网站怎么搭建?
如何自定义建站之星模板颜色并下载新样式?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
*请认真填写需求信息,我们会在24小时内与您取得联系。