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

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

 

全部教程
主站蜘蛛池模板: 亚洲国产中文字幕在线观看 | 在线观看一级毛片免费 | 天堂最新资源在线 | 三级第一页 | 男女男精品视频网站 | 亚洲福利在线视频 | 日本一区二区三区免费高清在线 | 老司机天堂影院 | 手机看片国产精品 | 久草免费在线播放 | 免费看美女午夜大片 | 欧美a网站 | 男女男在线精品网站免费观看 | 国产一级高清视频在线 | 日本黄色影院在线观看 | 色香蕉在线| 午夜yy6080在线观看福利片 | 浪潮a二三区 | 欧美爽爽网 | 久久99精品久久久久久园产越南 | 视频免费1区二区三区 | 亚洲图片欧美文学小说激情 | 日本成人三级 | 国产日韩欧美在线视频免费观看 | 亚洲 欧美 成人日韩 | 国产欧美日韩一区 | 日本羞羞无遮挡免费漫画 | 天天干天天操天天 | 欧美日本日韩aⅴ在线视频 欧美日本免费观看αv片 | 日韩欧美一级大片 | 婷婷在线免费观看 | 夜夜爽夜夜叫夜夜高潮漏水 | 国外成人在线视频网站 | 精品欧美日韩一区二区三区 | 亚洲精品高清国产一线久久97 | 特级全黄一级毛片免费 | 亚洲国产一区在线 | metcn人体亚洲一区 | 国产成人18黄网站免费 | 欧美一级第一免费高清 | 欧美亚洲国产精品 |