大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java堆棧

鏈棧的實現

使用鏈表作為棧的存儲結構, 有時也稱為鏈棧;

棧只允許在線性表的一端進行操作, 可以選擇鏈表的頭部作為棧頂;

不管是入棧/出棧都在鏈表的首結點上進行。

/**
 * 棧的鏈式存儲
 * @author 北京動力節點老崔
 */
public class MyLinkStack implements MyStack {
	private Node top; 			//存儲棧頂的引用
	private int size; 			//保存堆棧中元素的個數
	
	// 返回堆棧元素的個數
	@Override
	public int getSize() {
		return size;
	}

	// 判斷堆棧是否為空
	@Override
	public boolean isEmpty() {
		return size == 0;
	}

	// 入棧操作
	@Override
	public void push(Object e) {
		//根據元素生成結點,插入到鏈表的頭部
		Node pNode = new Node(e, top);
		//修改top棧頂指針指向新的結點
		top = pNode;
		size++;
	}

	// 出棧
	@Override
	public Object pop() {
		//先判斷堆棧是否為空
		if (size < 1 ) {
			throw new StackOverflowError("棧已空");
		}
		Object oldData = top.data; 		//保存原來棧頂元素
		top = top.next; 		//棧頂指針后移
		size--;
		return oldData;
	}

	// 返回棧頂元素
	@Override
	public Object peek() {
		// 先判斷堆棧是否為空
		if (size < 1) {
			throw new StackOverflowError("棧已空");
		}
		return top.data;
	}
	
	@Override
	public String toString() {
		// 把鏈表中各個結點的數據給返回
		StringBuilder sb = new StringBuilder();
		sb.append("[");
		for( Node pNode = top; pNode!=null; pNode= pNode.next) {
			sb.append(pNode.data);
			//數據元素之間使用逗號分隔
			if ( pNode.next != null) {
				sb.append(",");
			}
		}
		sb.append("]");
		return sb.toString();
	}

	//定義一個內部類,描述 鏈表中的結點
	private class Node{
		Object data; 		//存儲數據
		Node next;			//存儲下個結點的引用
		public Node(Object data, Node next) {
			super();
			this.data = data;
			this.next = next;
		}
		
	}
}

 

全部教程
主站蜘蛛池模板: 一色屋精品亚洲香蕉网站 | 日本不卡三级 | 成人青草亚洲国产 | 91香蕉福利一区二区三区 | 欧美日韩国产超高清免费看片 | 奇米777四色影视 | 天天干天天射天天操 | 毛片免费观看日本中文 | 久久亚洲精中文字幕冲田杏梨 | 一区二区三区不卡在线 | 天天操天| 国产精品亚洲综合色拍 | 日本黄黄| 99精品国产高清一区二区 | 国语毛片 | 非常色的视频 | 中文字幕日韩在线 | 精品国产一区二区三区不卡在线 | 特黄十八岁大片 | julia中文字幕久久亚洲 | 全免费a级毛片免费看不卡 全免费a级毛片免费看视频免 | 欧美成人一区二区三区在线视频 | 久久久久久岛国免费网站 | 午夜国产在线 | 99这里有精品视频 | 欧美国产一区二区三区 | 亚洲国产天堂久久九九九 | 久久久久久草 | 国语一区 | 欧美国产一区二区二区 | 日本毛片在线观看 | 国产福利一区视频 | 国产精品自在线拍国产 | 久久国产精品免费一区二区三区 | 青草视频网址 | 成人xxx视频 | 激情都市久久爱 | 日日操操干干 | www.欧美视频 | 超清乱人伦中文视频在线 | 国产精品久久久久乳精品爆 |