LinkedList集合模拟堆栈,队列数据结构

来源:互联网 发布:android json解析工具 编辑:程序博客网 时间:2024/05/17 08:35
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//[]
阅读全文
0 0
原创粉丝点击