菜鸟:模拟栈和队列的push和pop

<strong><span style="font-size:18px;">package com.bzu.list;

import java.util.Iterator;
import java.util.LinkedList;

public class LinkedListDemo2 {
	public static void main(String[] args) {
		//栈的基本操作测试
		/*MyWareHouse<String> warehouse=new MyWareHouse<String>();
		warehouse.push("张三");//入栈
		warehouse.push("Json");
		warehouse.push("Mary");
		warehouse.push("李四");
		warehouse.push("王五");
		warehouse.pop();//出栈
		warehouse.pop();
		//创建一个迭代器遍历栈内剩余数据
		Iterator<String> it=warehouse.iterator();
		while(it.hasNext()){//判断是否仍有元素可以迭代,则返回 true。
			System.out.println(it.next());//打印输出返回迭代的下一个元素
		}*/
		//队列的基本操作测试
		MyQueue<Integer> myQueue=new MyQueue<Integer>();
		myQueue.push(10);//入队列
		myQueue.push(20);
		myQueue.push(30);
		myQueue.push(40);
		myQueue.push(50);
		myQueue.pop();//出队列
		myQueue.pop();
		//迭代器遍历,创建一个迭代器
		for(Iterator<Integer> it=myQueue.iterator();it.hasNext();){
			System.out.println(it.next());			
		}
		/*for(Integer number:myQueue){//只能遍历一个数组或一个实例java.lang.Iterable
			System.out.println(number);
		}*/
		
	}

}
class MyWareHouse<T>{
	/**简单的模拟栈操作
	 * 栈的特点:先进后出 
	 */
	private LinkedList<T> data=null;//声明一个LinkedList泛型用来做栈
	public MyWareHouse(){
		data=new LinkedList<T>();//新建一个泛型的data容器(当做栈)
	}
	//压栈
	public void push(T obj){
		data.addFirst(obj);//从首地址放入data容器中(入栈)
	}
	//出栈
	public T pop(){
		return data.removeFirst();//从首地址删除,(就是出栈)		
	}
	//迭代器(用来遍历对栈操作之后的栈内信息)
	public Iterator<T> iterator(){
		return data.iterator();//栈内信息迭代遍历
	}
}
class MyQueue<T>{
	/**简单模拟队列的操作
	 * 队列的特点:先进后出
	 */
	//声明一个LinkedList泛型的容器
	private LinkedList<T> data=null;
	public MyQueue(){
		data=new LinkedList<T>();//创建一个新的容器data
	}
	//入队列
	public void push(T obj){
		data.addFirst(obj);//从首地址存入数据
	}
	//出队列
	public T pop(){
		return data.removeLast();//删除尾地址数据元素
	}	
	//迭代器遍历容器元素
	public Iterator<T> iterator(){
		return data.iterator();//输出data中的元素数据
	}
	
}









</span></strong>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饕餮幻想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值