数据结构 – 栈(stack)
介绍
栈是限制插入和删除只能在同一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。栈结构是一种后进先出的(LIFO)的数据结构。对栈的基本操作只有进栈(push)和出栈(pop)两种,进栈相当于插入,出栈相当于删除最后的元素。
图片描述
代码描述
/**
* @Description: 数据结构 -- 栈
* @Author: Zero
* @Date: 2019/11/28
*/
public class MyStack {
private LinkedList<String> linkedList;
public MyStack () {
linkedList = new LinkedList<>();
}
public void push (String value) {
linkedList.add(value);
System.out.println(value + "进栈");
}
public void pop () {
int size = linkedList.size();
if (size > 0) {
System.out.println(linkedList.get(size - 1) + "出栈");
linkedList.remove(size - 1);
} else {
System.out.println("该栈已经为空");
}
}
public void getStack () {
System.out.println("当前栈中数据");
System.out.println("--------------");
for (String s : linkedList) {
System.out.println(s);
}
System.out.println("--------------");
}
public static void main(String[] args) {
MyStack stack = new MyStack(); // 创建一个栈结构
stack.push("A"); // 开始进栈啦
stack.push("B");
stack.push("C");
stack.push("D");
System.out.println("");
stack.getStack(); // 获取当前栈中的数据
System.out.println("");
stack.pop(); //出栈
stack.pop();
System.out.println("");
stack.getStack();
}
}
运行结果
数据结构 – 队列(queue)
介绍
队列,一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,一种操作受限制的线性表。进行插入操作的那一端则称为队尾,进行删除操作的端称为队头
图片描述
代码描述
/**
* @Description: 数据结构 -- 队列
* @Author: Zero
* @Date: 2019/11/28
*/
public class MyQueue {
private LinkedList<String> linkedList;
public MyQueue () {
linkedList = new LinkedList<>();
}
public void insert (String value) {
linkedList.add(value);
System.out.println(value + "进队列");
}
public void remove () {
int size = linkedList.size();
if (size > 0) {
System.out.println(linkedList.get(0) + "出队列");
linkedList.remove(0);
} else {
System.out.println("该队列为空");
}
}
public void getQueue () {
System.out.println(linkedList);
}
public static void main(String[] args) {
MyQueue myQueue = new MyQueue();
myQueue.insert("A");
myQueue.insert("B");
myQueue.insert("C");
myQueue.insert("D");
myQueue.getQueue();
myQueue.remove();
myQueue.getQueue();
}
}
运行截图
结语
小编是一枚Java Coder,业余写文章,现主营微信公众号《Java患者》,喜欢的话关注我的公众号或者加我微信我们一起学习Java