黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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;
		}
		
	}
}

 

全部教程
主站蜘蛛池模板: 日本久久一区二区 | 欧美一区二区三区久久综合 | 黄色污污视频 | 曰韩高清一级毛片 | 亚洲精品色图 | 天天舔天天射天天干 | 欧美video巨大粗暴多人 | 日本高清xxxxx | 日本欧美一区二区三区不卡视频 | 国产高清视频网站 | 日本三级视频在线 | 黄色网址免费在线观看 | 日韩欧美中国a v | 免费观看欧美性一级 | 在线观看欧美国产 | 欧美日韩一日韩一线不卡 | 国产亚洲精品拍拍拍拍拍 | 免费观看黄色a一级视频播放 | 韩国免费网站成人 | 欧美福利影院 | 日本成本人三级在线观看2018 | 波多野结衣视频在线免费观看 | 免费又黄又硬又大爽日本 | 亚洲第一免费网站 | 越南一级毛片免费 | 男女在线播放 | 性欧美videofree高 | 日韩欧美中文字幕在线观看 | 欧美日韩综合在线视频免费看 | 深夜在线看片 | 久久久青草青青国产亚洲免观 | 最近中文字幕在线6 | 亚洲天天在线日亚洲洲精 | 天天尻 | 色偷偷8888欧美精品久久 | 国产精品成人免费视频不卡 | 久久婷婷午色综合夜啪 | 秋霞国产一级特黄 | 最近免费中文字幕mv | 丝袜老师在办公室被狠狠 | 99在线视频免费 |