大战熟女丰满人妻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;
		}
		
	}
}

 

全部教程
主站蜘蛛池模板: 天天干天天操天天操 | 亚洲综合精品成人啪啪 | 久久国产成人精品麻豆 | 久久久综合九色合综国产 | 日韩欧美~中文字幕 | 亚洲综合久久综合激情久久 | 日韩毛片免费线上观看 | 久久天天躁狠狠躁夜夜 | 日韩dv | 色综合久久久久久 | 国产高清不卡一区二区 | 亚洲精品三区 | 欧美日韩一区二区亚洲 | 在线观看国产久青草 | 欧美精品亚洲精品日韩 | 久久桃花网 | 午夜国产在线观看 | 国产大片中文字幕 | 国产美女mm131爽爽爽免费 | 欧美日韩综合视频 | 久久久成人啪啪免费网站 | 激情在线网站 | 香蕉视频亚洲 | 五月国产综合视频在线观看 | 97成人免费视频 | 中国一级全黄的免费观看 | 亚洲精品入口一区二区在线观看 | 国内亚州视频在线观看 | 99热在线精品播放 | 欧美久草视频 | 久草手机在线 | 97高清国语自产拍中国大陆 | 六月成人网 | 亚洲成a人一区二区三区 | 中文国产成人久久精品小说 | a毛片免费全部播放完整成 a毛片免费全部在线播放毛 | 欧美中文字幕一区 | 免费观看国产精品视频 | 欧美国产一区二区三区 | 国产成人精品亚洲2020 | 欧美视频在线一区 |