package com.yingcheng1101.collection.list.linkedlist;
import java.util.LinkedList;
import java.util.ListIterator;
public class List_LinkedList_2 {
public static void main(String[] args) {
// 使用LinkedList模拟堆栈数据结构(先进后出)队列数据结构(先进先出)
// 用面向对象的思想描述堆栈数据结构以及队列数据结构(创建两个类)
System.out.println("堆栈数据结构");
mothod_Stack();
System.out.println("队列数据结构");
mothod_Queue();
}
public static void mothod_Queue() {
Simulation_Queue sim = new Simulation_Queue();
sim.my_add("sim_1");
sim.my_add("sim_2");
sim.my_add("sim_3");
sim.show();
System.out.println(sim.my_get());
System.out.println(sim.my_get());
System.out.println(sim.my_get());
sim.show();
}
public static void mothod_Stack() {
Simulation_Stack sim = new Simulation_Stack();
sim.my_add("sim_1");
sim.my_add("sim_2");
sim.my_add("sim_3");
sim.show();
System.out.println(sim.my_get());
System.out.println(sim.my_get());
System.out.println(sim.my_get());
sim.show();
}
}
class Simulation_Queue {// 模拟队列结构
private LinkedList link;
public Simulation_Queue() {// 对象一创建,就有LinkedList集合对象以及迭代器
link = new LinkedList();
}
// 对象有一个添加对象元素的方法
public void my_add(Object obj) {
link.add(obj);
}
public Object my_get() {
if (!link.isEmpty()) {
return link.poll();
} else {
return "空";
}
}
// 有一个查看对象中所有元素的方法
public void show() {
System.out.println(link);
}
}
class Simulation_Stack {// 描述堆栈数据结构
private LinkedList link;
public Simulation_Stack() {// 对象一创建,就有LinkedList集合对象以及迭代器
link = new LinkedList();
}
// 对象有一个添加对象元素的方法
public void my_add(Object obj) {
link.add(obj);
}
public Object my_get() {
if (!link.isEmpty()) {
return link.pollLast();
} else {
return "空";
}
}
// 有一个查看对象中所有元素的方法
public void show() {
System.out.println(link);
}
}
//堆栈数据结构
//[sim_1, sim_2, sim_3]
//sim_3
//sim_2
//sim_1
//[]
//队列数据结构
//[sim_1, sim_2, sim_3]
//sim_1
//sim_2
//sim_3
//[]
LinkedList集合模拟堆栈,队列数据结构
最新推荐文章于 2023-03-19 21:09:02 发布
本文通过Java代码实现了一个简单的队列和堆栈数据结构模拟。利用LinkedList集合,演示了队列(先进先出FIFO)和堆栈(后进先出FILO)的基本操作,包括添加元素、获取元素及显示当前状态。
855

被折叠的 条评论
为什么被折叠?



