java数据结构,实现栈/队列
来源:互联网 发布:面向对象数据库设计 编辑:程序博客网 时间:2024/04/27 15:27
栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。
LinkedList数据结构是一种双向的链式结构,每一个对象除了数据本身外,还有两个引用,分别指向前一个元素和后一个元素,和数组的顺序存储结构(如:ArrayList)相比,插入和删除比较方便,但速度会慢一些。
栈的定义
栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。
(1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。
(2)当表中没有元素时称为空栈。
(3)栈为后进先出(Last In First Out)的线性表,简称为LIFO表。
栈的修改是按后进先出的原则进行。每次删除(退栈)的总是当前栈中"最新"的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。
实现代码:
package com.gc.list;
public 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 boolean isfull(){
if(ll.size()==10) {
System.out.println(" stack is full");
}
}
public static void main(String[] args){
MyStack ms=new MyStack();
ms.push("zhangsan");
ms.push("lisi");
ms.push("wangwu");
System.out.println(ms.pop());
System.out.println(ms.peek());
System.out.println(ms.pop());
System.out.println(ms.empty());
}
}
队列定义
队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表
(1)允许删除的一端称为队头(Front)。
(2)允许插入的一端称为队尾(Rear)。
(3)当队列中没有元素时称为空队列。
(4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。
实现代码:
package com.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();
}
public static void main(String[] args){
MyQueue mq=new MyQueue();
mq.put("zhangsan");
mq.put("lisi");
mq.put("wangwu");
System.out.println(mq.get());
System.out.println(mq.get());
System.out.println(mq.get());
System.out.println(mq.empty());
}
}
- java数据结构,实现栈/队列
- java实现栈,队列数据结构
- 队列数据结构Java实现
- java实现队列数据结构
- 数据结构-Java实现队列
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
- java 实现数据结构之队列
- java 实现数据结构之队列
- 数据结构:循环队列--Java实现
- 数据结构之-java实现-队列
- 数据结构之队列【java实现】
- 数据结构循环队列Java实现
- 数据结构链队列java实现
- 数据结构之java实现队列
- 数据结构-队列 JAVA语言实现
- 数据结构实战java实现队列
- 数据结构--队列实现栈&栈实现队列
- 数据结构的Java实现——栈和队列
- 符合标准的图片跳转以及未改进
- Oracle 9i 10g编程艺术 —— 读书笔记(三)
- QQ空间FLASH代码及其使用方法
- 学生实验:手机辐射确实可对人脑有影响
- 《日本语句型辞典》学习笔记 - あげく
- java数据结构,实现栈/队列
- 女人 别叫爱你的男人太累
- 理财专家分析:2008,我们如何赚钱
- 推荐几个vxworks国外的比较好的两个论坛!
- STL 2: Template的新特性
- 漂亮的表格样式(使用CSS样式表控制表格样式)
- ArcIMS局域网访问地图问题
- 4.1.4 不包含验证
- grub详解