Java实现数据结构栈stack和队列Queue
Google后发现大多数文章都是通过LinkedList类实现,当然JDK有自带的Stack类
回顾JDK提供的集合类
容器(集合)框架如下:
集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
Collection接口
├List 接口
│├LinkedList 链表
│├ArrayList 顺序结构动态数组类
│└Vector 向量
│ └Stack 栈
Map接口
├Hashtable
├HashMap
└Set接口
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet(也是接口)<--TreeSet
LinkedList, 查阅JDK
List接口的链表列表实现。
实现所有可选的列表操作,并且允许所有元素(包null)
LinkedList类还为在列表的开头及结尾get,remove和insert元素提供了统一的命名方法。
这些操作允许将链接列表用作堆栈,队列或双端队列
注意此实现不是同步的
JDK本身提供的Stack类
提供了通常的push和pop操作,以及取堆栈顶点的peek方法,测试堆栈是否为空的empty方法,在堆栈中查找项并确定离栈顶的距离,共五个方法。
JDK中实现这个类本身继承自Vector这个类(since JDK1.0)
数据结构中 栈的定义及基本运算
栈和队列都属于线性结构,是两种在运算上受到某些限制的特殊线性表,他们比一般线性表更简单。
栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。
允许插入和删除的一端,称为栈顶),另一端为固定的一端,称为栈底
栈顶,栈底,空栈,栈的特性,
退栈,进栈
栈的运算:
初始化栈,进栈push,出栈pop,,取栈顶元素(即是查看下一个要出栈的元素,也叫peek),判断空
用LinkedList实现stack
其实主要是实现 进栈push,出栈pop,,取栈顶元素这几个方法
.simoncook.examtest;
import java.util.LinkedList;
public class MyStack {
private LinkedList ll = new LinkedList();
public void push(Object obj){
//将指定元素插入此列表的开头。
ll.addFirst(obj);
}
public Object pop(){
//移除并返回此列表的第一个元素.
return ll.removeFirst();
}
public Object peek(){
// 返回此列表的第一个元素。
return ll.getFirst();
}
public boolean empty(){
return ll.isEmpty();
}
}
数据结构队列
参考
/blog/more.asp?name=eaglebetter&id=17232
队列(Queue)的定义
队列的特性队列的实例队 列的基本运算 (1) 入队操作:InQueue(q,x) (2)出队操作:OutQueue(q,x) (3)读队头元 素:ReadFront(q,x) (4)显示队列中元素ShowQueue(q) (5)判队空操作:QEmpty(q) (6)判 队满操作:QFull(q) (7)求队列长度Qlen(q)
实现代码: .gc.list; import java.util.*; public class MyQueue {
private LinkedList ll=new LinkedList(); //入队操作 public void put(Object o){ ll.addLast(o); } //使用removeFirst()方法,返回队列中第一个数据,然后将它从队列 中删除 //出队操作 public Object get(){ return ll.removeFirst(); } public boolean empty(){ return ll.isEmpty(); }
racknerd怎么样?racknerd最近发布了一些便宜美国服务器促销,包括大硬盘服务器,提供120G SSD+192TB HDD,有AMD和Intel两个选择,默认32G内存,1Gbps带宽,每个月100TB流量,5个IP地址,月付$599。价格非常便宜,需要存储服务器的朋友可以关注一下。RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新泽西机房基于KVM虚拟化的VPS、...
CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...