使用LinkedList来模拟堆栈或队列数据结构
来源:互联网 发布:彩票pk10开奖网源码 编辑:程序博客网 时间:2024/05/17 10:39
今天是10.3不管是不是假日,坐在实验室能学点东西那就是极好的,要是能加上打球那就是再好不过的了,这个在今天全都有了;今天过的也很是幸福。好的,开始技术。
最近一直在学习集合,其中使用比较多的就是LinkedList,那么什么是LinkedList呢。在list中共有三种容器,LinkedList是容器的一种,具体介绍如下,
List:
|--Vector:组数据结构,是同步的(效率低,几乎不用),可增长。增删查询都很慢!
|--LinkedList:内部是数组数据结构,是不同步的(效率高),大小可变的,代替了Vector。查询速度快
|--ArrayList:内部是数链接列表实现(链表数据结构)。是不同步的(效率高),增删速度快。有角标,
但底层是链表结构
其中,LinkedList有很多方法,比如
getFirst(),if is empty ,throw NoSuchElementException
getLast(),if is empty ,throw NoSuchElementException
peekFirst(),if is empty ,return null
peekLast(),if is empty,return null;
removeFirst(),removeLast(), offerFirst(),offerLast() and so on~~~~
使用这些方法,就可以完成一个功能,使用LinkedList来模拟堆栈或队列数据结构,这也是笔试中的题,首先,什么是“堆栈或队列”呢。
/* * 请使用LInkedList来模拟堆栈或队列数据结构。 * * 堆栈:后进先出 first in last out(FILO) * * 队列:先进先出first in first out(FIFO) * * 我们应该描述这样一个容器,给使用提供一个容器对象完成这两种结构中的一种 */然后,如果是写一个队列的话,它得有自己的构造函数,当执行的时候可以自动创建一个LinkedList容器,还必须有添加、取出元素的功能,当然为了能取出元素,还必须有判断容器是否为空的函数,所以具体代码如下:
public class DuiLie {//能完成先进先出的效果private LinkedList link;public DuiLie(){link=new LinkedList();}/* * 队列添加元素的功能 */public void myAdd(Object obj){link.addLast(obj);}/* * 队列取出元素的功能 */public Object myGet(){return link.removeFirst(); //add和remove相反是队列,相同是堆栈}public boolean isNull(){return link.isEmpty();}}当执行的时候,创建队列,然后添加元素,看输出顺序即可判断编程是否正确。
public class LinkedTest {public static void main(String[] args) {// TODO Auto-generated method stubDuiLie d1=new DuiLie();d1.myAdd("abc1");d1.myAdd("abc2");d1.myAdd("abc3");d1.myAdd("abc4");while(!d1.isNull()){System.out.println(d1.myGet());}}}
运行结果是:所以编程正确,哈哈!!
0 0
- 使用LinkedList来模拟堆栈或队列数据结构
- 使用LinkedList模拟一个堆栈或队列数据结构
- 使用LinkedList来模拟一个堆栈或者队列数据结构
- java小练习-使用LinkedList模拟一个堆栈或队列数据结构
- Java基础之集合框架--使用LinkedList模拟堆栈或队列数据结构
- 使用LinkedList模拟一个堆栈或者队列数据结构
- 使用LinkedList模拟一个堆栈或者队列数据结构
- java 使用LinkedList模拟一个堆栈或者队列数据结构
- Java使用LinkedList模拟一个堆栈或者队列数据结构
- 黑马程序员使用LinkedList模拟一个堆栈或者队列数据结构。
- 使用LinkedList模拟一个堆栈或者队列数据结构
- 集合框架---使用LinkedList模拟一个堆栈或者队列数据结构
- Java使用LinkedList模拟一个堆栈或者队列数据结构。
- 集合框架四:LinkedList基本应用(用LinkedList模拟堆栈或队列的数据结构)
- Java集合框架:LinkedList基本应用(用LinkedList模拟堆栈或队列的数据结构)
- LinkedList集合模拟堆栈,队列数据结构
- LinkedList模拟堆栈和队列数据结构
- 黑马程序员_练习:用LinkedList模拟堆栈或队列数据结构
- CodeBlocks 项目基本配置基础
- iOS的文件分类、存放路径及文件属性
- 【BZOJ】【P4292】【PA2015】【Równanie】【题解】【暴力】
- WebStorm Tomcat 调试 js
- ADB的使用
- 使用LinkedList来模拟堆栈或队列数据结构
- Microsoft Visual C++ 6.0快捷键(绝对值得掌握)
- IOS中获取各种文件的目录路径的方法
- HDU 3729 I'm Telling the Truth(2010 Asia Tianjin Regional Contest )
- nyoj 448 寻找最大数
- 空格替换
- 【搜索】 HDU 4474 Yet Another Multiple Problem
- IOS的app程序中的文件目录的功能和使用详细说明 - 包括itune同步的部分
- Android的Activity滑动切换动画