博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈和队列以及链表的基本实现方式
阅读量:6843 次
发布时间:2019-06-26

本文共 1943 字,大约阅读时间需要 6 分钟。

  • 概述

        栈的优点:读取速度快,而且数据可以共享;缺点就是存在于栈中取数据时是最新的,只能从栈顶到栈头的去取数据,不灵活

StackClass.java

public class StackClass {    public static void main(String[] args) {        //创建一个栈        Stack  s = new Stack();        s.push("A");//往栈里面添加数据        s.push("B");        s.push("C");        s.push("D");        s.push("E");        System.out.println("压栈数据:");        System.out.println(s);//打印栈里面的数据        System.out.println("------分割线-----");        System.out.println("出栈数据:");        System.out.println(s.pop()+"");//从栈里取数据        System.out.println(s.pop()+"");        System.out.println(s.pop()+"");        System.out.println(s.pop()+"");        System.out.println(s.pop()+"");    }}

 以上运行的结果:

 

     队列的优点:插入最新的数据,取出是最旧的数据,缺点就是不能实现空间共享

QueueClass.java

public class QueueClass {    public static void main(String[] args) {        Queue
qu = new LinkedList
();//创建一个队列,并且只能往里面放字符串类型 System.out.println("添加数据"); qu.offer("A"); qu.offer("B"); qu.offer("C"); qu.offer("D"); qu.offer("E"); for (String s : qu) { System.out.println(s+""); } System.out.println(); System.out.println("开始移除数据:"); System.out.println(qu.poll()+""); System.out.println(qu.poll()+""); System.out.println(qu.poll()+""); System.out.println(qu.poll()+""); System.out.println(qu.poll()+""); }

上面代码运行的结果如下图:

链表的优点:可以根据下标去删除,灵活性强,但是在添加数据的数据相对就慢了

public class LinkedListClass {    public static void main(String[] args) {        LinkedList list = new LinkedList();//创建一个链表对象        list.add("1");//往里面添加数据        list.add("2");        list.add("3");        list.add("4");        list.add("5");        list.add("2");        System.out.println("元素 2 第一次出现的位置:"+list.indexOf("2"));//找首位数        System.out.println("元素 2 最后一次出现的位置:"+list.lastIndexOf("2"));//找尾数    }}

 运行后的结果如下图:

 

以上就是个人对栈和队列还有链表的基本实现方式

 

 

       

转载于:https://www.cnblogs.com/cheng88/p/10075440.html

你可能感兴趣的文章
DPM配置管理之安装Windows Server Backup功能(DPM配置管理系列五)
查看>>
面向对象的三个基本特征-----封装、继承、多态
查看>>
杂谈(19)高考 大学 梦想 人生
查看>>
数字医疗 驭“数”有道
查看>>
2015 UESTC Training for Data Structures
查看>>
浅谈Oracle存储过程中的一点小经验
查看>>
MySQL 高可用架构
查看>>
SCOM2012功能测试(15)—创建分布式应用程序
查看>>
openresty+lua+nginx_upstream_check_module等其他模块安装
查看>>
下载RPM包而不安装
查看>>
华为路由器命令解释大全
查看>>
点和圈的理论在软件测试中的思考
查看>>
Python将被纳入高考,小学生都在学Python,你慌了吗?
查看>>
PHP集成开发环境里面的www问题
查看>>
LVS负载均衡的搭建纯文本
查看>>
oracle中,约束、表名、Index等的名称长度限制最大只能30个字符
查看>>
Redis 5.0
查看>>
第一章 搭建一个通用的.net core项目框架
查看>>
使用Visual Studio 快速把 Json,Xml 字符串创建为一个实体类
查看>>
Asp.net 获取网页源代码
查看>>