集合之三
来源:互联网 发布:gta4不卡优化流畅补丁 编辑:程序博客网 时间:2024/04/30 03:19
LinkedList
LinkedList是采用双向循环链表实现的。
利用LinkedList实现栈(stack)、队列(queue)、双向队列(double-ended queue )。
数据结构
一般将数据结构分为两大类:线性数据结构和非线性数据结构。线性数据结构有线性表、栈、队列、串、数组和文件;非线性数据结构有树和图。
线性表
线性表的逻辑结构是n个数据元素的有限序列:
(a1, a2 ,a3,…an)
n为线性表的长度(n≥0),n=0的表称为空表。
数据元素呈线性关系。必存在唯一的称为“第一个”的数据元素;必存在唯一的称为“最后一个”的数据元素;除第一个元素外,每个元素都有且只有一个前驱元素; 除最后一个元素外,每个元素都有且只有一个后继元素。
所有数据元素在同一个线性表中必须是相同的数据类型。
线性表按其存储结构可分为顺序表和链表。用顺序存储结构存储的线性表称为顺序表;用链式存储结构存储的线性表称为链表。
将线性表中的数据元素依次存放在某个存储区域中,所形成的表称为顺序表。一维数组就是用顺序方式存储的线性表。
栈
栈(Stack)也是一种特殊的线性表,是一种后进先出(LIFO)的结构。
栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom)。
栈的物理存储可以用顺序存储结构,也可以用链式存储结构。
class MyStack
...{
private LinkedList ll=new LinkedList();
public void push(Object o)
...{
ll.addFirst(o);
}
public Object pop()
...{
return ll.removeFirst();
}
public Object peek()
...{
return ll.getFirst();
}
public boolean empty()
...{
return ll.isEmpty();
}
public static void main(String[] args)
...{
MyStack ms=new MyStack();
ms.push("one");
ms.push("two");
ms.push("three");
System.out.println(ms.pop());
System.out.println(ms.peek());
System.out.println(ms.pop());
System.out.println(ms.empty());
}
}
队列
队列(Queue)是限定所有的插入只能在表的一端进行,而所有的删除都在表的另一端进行的线性表。
表中允许插入的一端称为队尾(Rear),允许删除的一端称为队头(Front)。
队列的操作是按先进先出(FIFO)的原则进行的。
队列的物理存储可以用顺序存储结构,也可以用链式存储结构。
class MyQueue
...{
private LinkedList ll=new LinkedList();
public void put(Object o)
...{
ll.addLast(o);
}
public Object get()
...{
return ll.removeFirst();
}
public boolean empty()
...{
return ll.isEmpty();
}
public static void main(String[] args)
...{
MyQueue mq=new MyQueue();
mq.put("one");
mq.put("two");
mq.put("three");
System.out.println(mq.get());
System.out.println(mq.get());
System.out.println(mq.get());
System.out.println(mq.empty());
}
}
- 集合之三
- 三、集合之CopyOnWriteArrayList
- Java之三大集合
- Java基础知识之集合(三)
- Java集合三之Vector
- Async详解之三:集合操作
- java之集合学习(三)
- java中的集合之Set接口(三)
- 深入Java集合系列之三:HashMap
- MyBatis集合Spring(三)之mapper
- JAVASE之集合(三)【List】
- 深入Java集合系列之三:HashMap
- Java之三大集合框架
- 三、MongoDB的基本概念之集合
- JAVA面试之集合框架(三)
- 集合三
- 集合三
- Java数据结构与算法之数据结构-逻辑结构-集合(三)------集合之Iterable接口
- 在MyEclipse5环境下设计好数据库后进行hibernate开发的过程.doc
- 跳还是不跳,这是个问题--浅析换工作的成本
- 又是忙碌的一天
- 集合之二
- 学位服介绍
- 集合之三
- 高考作文终极冲刺:2007年作文20大猜想(之一图) 5
- 100个著名初等数学问题
- 6月4日 距离高考3天 物质准备
- 学会理解并编辑fstab
- 熊猫烧香制造者看守所写下杀毒程序
- 口碑营销的魔力
- null id in entry (don't flush the Session after an exception occurs)
- 中国工程研究院 工程师 方坤论IT大学生