LinkedLis实现队列和栈

LinkedLis实现队列和栈

纯手打,可能会有一些小错误,勿喷。
实现队列
public class Linked01 <E>{
	/*
	创建LinkedList对象
	*/
	private LinkedList<E> linked = new LinkedList<>();

	/*
	创建添加元素方法
	*/
	public void offerElement(E element){
		linked.offer(element);
	}
	/*
	创建获取元素方法
	*/
	public E pollElement(){
		return linked.poll();
	}
	/*
	判断集合是否为空
	*/
	public boolean isEmpty(){
		return !(linked == null || linked.size() == 0);
	}
}
main方法
public class Linked01Test{
	public static void main(String[] args){
			/*
		创建Linked01对象
		*/
		Linked01<Integer> lin = new Linked01<>();
		/*
		放入元素
		*/
		Scanner sc = new Scanner(System.in);
		while(true){
		//当输入-1的时候,结束输入。
			System.out.print("请输入成绩:"):
			int score = sc.nextInt();
			if(score == -1){
				break;
			}
			lin.offerElement(score);
		}

		/*
			获取元素
		*/
		while(lin.isEmpty()){
			int score = lin.pollElement();
			System.out.println("成绩是:" + score);
		}
	}
}
实现栈
public class Linked02<E>{
	private LinkedList<E> linkde = new LinkedList<>();

	/*
		 方法和上面实现队列一样,注释就不写了。
	*/
	public void offerElement(E element){
		linked.offer(element);
	}

	public E pollElement(){
	//这里用pollLast()方法是为了从集合的后面取值,从而满足后进先出的顺序
		return linked.pollLast();
	}

	public boolean isEmpty(){
		return !(linked == null || linked.size() == 0);
	}
}
main方法
public class Linked02Test{
	public static void main(String[] args){
	Linked02<Integer> lin = new Linked02<>();
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.print("请输入成绩:");
			int score = sc.nextInt();
			if(score == -1){
				break;
			}
			lin.offerElement(score);
		}

		while(lin.isEmpty){
			int score = lin.pollElement();
			System.out.println("成绩是:" + score);
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值