数据结构 -- 栈(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