亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用鏈表或者數組實現一個棧

2019-11-06 06:03:16
字體:
來源:轉載
供稿:網友
1.用鏈表實現一個棧
package com.sun;import java.util.EmptyStackException;public class DLinkedStackEx {	PRivate Node head;	private Node tail;	// 表示棧的大小	private int count;	public Object push(String element) {		if (null == head) {			head = new Node(element, null, null);			tail = head;			count += 1;		} else {			Node tmp = new Node(element, null, null);			// 尾節點的下一個節點是新創建的節點			tail.next = tmp;			// 新節點的前一個節點是尾節點			tmp.prev = tail;			// 把為節點放在最后的節點上(就是新創建的節點)			tail = tmp;			count += 1;		}		return element;	}	public Object pop() {		if (isEmpty()) {			throw new EmptyStackException();		} else {			Object pop = tail.element;			// 創建一個臨時節點引用指向前一個			Node tmp = tail.prev;			// 斷開最后一個與前一個			tail.prev = null;			// 斷開前一個與最后一個			tmp.next = null;			// 把最后一個指向前一個			tail = tmp;			count -= 1;			return pop;		}	}	public boolean isEmpty() {		if (null == head || 0 == count || null == tail) {			return true;		}		return false;	}	// 獲得棧頂元素	public Object peek() {		if (isEmpty()) {			return null;		} else {			return tail.getElement();		}	}	public int size() {		return count;	}	public int search(String elment) {		if (isEmpty()) {			throw new EmptyStackException();		} else {			Node tmphead = head;			Node tmptail = tail;			for (int i = 0; i <= count / 2; i++) {				if (elment.equals(tmptail.element)) {					return i;				}				if (elment.equals(tmphead.element)) {					return count - 1 - i;				}				tmptail = tmptail.prev;				tmphead = tmphead.next;			}			return -1;		}	}	public DLinkedStackEx() {	}	private class Node {		// 要保存的數據		private Object element;		// 當前節點的下一個節點		private Node next;		public Object getElement() {			return element;		}		@SuppressWarnings("unused")		public void setElement(Object element) {			this.element = element;		}		@SuppressWarnings("unused")		public Node getNext() {			return next;		}		@SuppressWarnings("unused")		public void setNext(Node next) {			this.next = next;		}		@SuppressWarnings("unused")		public Node getPrev() {			return prev;		}		@SuppressWarnings("unused")		public void setPrev(Node prev) {			this.prev = prev;		}		// 當前節點的前一個節點		private Node prev;		public Node(String element, Node pnext, Node pprev) {			this.element = element;			this.next = pnext;			this.prev = pprev;		}	}}

2.用數組實現一個棧

package com.sun;public class Stack {/** 棧的規則:先進后出*/public class DStack {private static final int STACK_DEFAULT_SIZE = 16;private static final int STACK_EMPTY_SIZE = 0;// 用來保存元素private Object[] arrayElement;// 用來表示棧中元素的個數,一般解釋就是棧的大小private int count;public DStack() {arrayElement = new Object[STACK_DEFAULT_SIZE];count = STACK_EMPTY_SIZE;}// 壓棧@SuppressWarnings("unused")public Object push(String element) {// 1.棧是空的if (isEmpty()) {arrayElement[0] = element;count += 1;}// 2. 棧不空也不滿if (!isFull() && !isEmpty()) {arrayElement[count] = element;count += 1;}// 3. 棧滿了if (isFull()) {// 1. 分配一個臨時的原來大小+16的空間Object[] tmp = new Object[arrayElement.length+ STACK_DEFAULT_SIZE];if (null == tmp) {throw new RuntimeException("has no xxx space, please change LinkedStack.");}// 2. 把原來數組中的元素拷貝到新的數組中,再把新的元素增加進來。for (int j = 0; j < arrayElement.length; j++) {tmp[j] = arrayElement[j];}tmp[arrayElement.length] = element;count += 1;// 4. 釋放原來的空間for (int j = 0; j < arrayElement.length; j++) {arrayElement[j] = null;}arrayElement = null;// 5. 把臨時的數組引用指向原來的數組(這步一定不能省略)arrayElement = tmp;}return element;}// 從棧中彈出元素public Object pop() {Object popObject = arrayElement[count - 1];arrayElement[count - 1] = null;count -= 1;return popObject;}// 獲得棧頂的元素的拷貝public Object peek() {return arrayElement[count - 1];}// 判斷棧是否為空// true 表示棧為空的。public boolean isEmpty() {return count == STACK_EMPTY_SIZE ? true : false;}// 獲得元素在棧中的位置public int search(String element) {for (int i = 0; i < count; i++) {if (arrayElement[i].equals(element)) {return count - 1 - i;}}return -1;}// 判斷棧是否為滿// true 表示棧為滿的。private boolean isFull() {return count == arrayElement.length ? true : false;}}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合久久久久久中文网| 国产精品成av人在线视午夜片| 久久影视电视剧免费网站清宫辞电视| 日韩欧美在线观看| 在线亚洲午夜片av大片| 亚洲欧美中文字幕在线一区| 国产精品ⅴa在线观看h| 久久国产色av| 色悠悠久久久久| 欧美激情视频在线观看| 欧美中文在线免费| 538国产精品一区二区在线| 久久理论片午夜琪琪电影网| 亚洲第一页自拍| 国产精品亚洲片夜色在线| 久热爱精品视频线路一| 在线观看91久久久久久| 亚洲级视频在线观看免费1级| 亚洲欧美国内爽妇网| 欧美电影免费在线观看| 欧美在线视频网站| 日韩av高清不卡| 日本精品中文字幕| 亚洲免费电影一区| 国产精品国产三级国产专播精品人| 欧美区二区三区| 日本欧美在线视频| 1769国内精品视频在线播放| 久久人91精品久久久久久不卡| 美日韩丰满少妇在线观看| 国产不卡精品视男人的天堂| 国产美女直播视频一区| 精品动漫一区二区三区| 国产精品老女人视频| 成人在线免费观看视视频| 亚洲黄色av女优在线观看| 日韩精品欧美激情| x99av成人免费| 午夜精品免费视频| 亚洲精品国产美女| 国产美女主播一区| 日韩av色综合| 91精品视频在线播放| 亚洲黄色片网站| 亚洲视频999| 午夜精品久久久99热福利| 色七七影院综合| 91午夜理伦私人影院| 国产成人免费av电影| 久久国产精品久久国产精品| 琪琪亚洲精品午夜在线| 国产日韩综合一区二区性色av| 秋霞成人午夜鲁丝一区二区三区| 麻豆国产精品va在线观看不卡| 欧美一区视频在线| 欧美激情二区三区| 中文字幕视频在线免费欧美日韩综合在线看| 中国china体内裑精亚洲片| 国产一区二区日韩| 欧美另类99xxxxx| 国内精品视频一区| 九九热精品视频在线播放| 日韩视频永久免费观看| 亚洲高清久久久久久| 2018日韩中文字幕| 久久精品国产精品| 中国人与牲禽动交精品| 国产精品xxx视频| 国产精品99久久99久久久二8| 亚洲成人亚洲激情| 欧美国产第二页| 中文字幕国产亚洲2019| 国产精品91一区| 欧美日韩国产精品一区二区不卡中文| 国产亚洲精品一区二555| 日韩欧美国产中文字幕| 日韩欧美中文字幕在线观看| 日本高清不卡的在线| 久久精品成人一区二区三区| 欧美激情第6页| 精品亚洲一区二区三区在线播放| 精品视频在线导航| 久久国内精品一国内精品| 亚洲人成网7777777国产| 国产精品永久免费| 欧美亚洲一级片| 亚洲精品98久久久久久中文字幕| 国产成人啪精品视频免费网| 一本色道久久88综合日韩精品| 欧美激情乱人伦| 亚洲韩国欧洲国产日产av| 欧美视频免费在线| 国内精品久久久久久影视8| 国产欧美va欧美va香蕉在线| 国产成人精品一区二区在线| 综合欧美国产视频二区| 亚洲美女动态图120秒| 久久免费国产精品1| 国产精品都在这里| 精品福利在线视频| 国产精品入口福利| 91九色视频导航| 91成品人片a无限观看| 国产视频在线一区二区| 国内精品久久久久久中文字幕| 欧美午夜视频一区二区| 久久资源免费视频| 久久久久久亚洲精品| 夜夜狂射影院欧美极品| 日韩欧美在线视频免费观看| 国产欧美精品日韩精品| 清纯唯美亚洲激情| 亚洲一区二区精品| 亚洲免费视频一区二区| 欧美激情视频网站| 日韩精品在线观| 日韩av色综合| 国产精品一区二区久久| 亚洲精品国产精品自产a区红杏吧| 精品性高朝久久久久久久| 久久最新资源网| 九九热视频这里只有精品| 青青a在线精品免费观看| 欧美视频中文在线看| 91精品国产成人| 亚洲美女www午夜| 亚洲人成免费电影| 久久免费视频在线观看| 91av视频在线| 不卡中文字幕av| 欧美成人黄色小视频| 一区二区日韩精品| 久久6精品影院| 欧美—级a级欧美特级ar全黄| 日韩高清电影免费观看完整版| 高跟丝袜一区二区三区| 97视频在线观看成人| 日韩中文视频免费在线观看| 日韩欧美国产高清91| 国产精品99导航| 97碰在线观看| 在线色欧美三级视频| 欧美激情精品久久久久久黑人| 日韩av电影中文字幕| 国产97在线|日韩| 国产精品极品美女在线观看免费| 欧美高清视频在线| 国产在线精品一区免费香蕉| 亚洲第一色中文字幕| 亚洲欧洲黄色网| 色偷偷偷亚洲综合网另类| 欧美一级成年大片在线观看| 欧洲日本亚洲国产区| 国产精品久久久久久久久久新婚| 成人激情黄色网| 日韩有码视频在线| 欧美电影免费看| 久久99热精品这里久久精品| 欧美激情精品久久久久久久变态| 国产精品www网站| 久久夜色撩人精品| 国产97人人超碰caoprom| 亚洲最新av在线| 国产91免费看片|