91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA數據結構之漢諾塔代碼的示例分析

發布時間:2021-08-20 09:54:52 來源:億速云 閱讀:111 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關JAVA數據結構之漢諾塔代碼的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內容如下

package p02.動態鏈表;

import p01.動態數組.Stack;

public class LinkedStack<E> implements Stack<E> {
	private LinkedList<E> list;
	public LinkedStack(){
		list=new LinkedList<>();
	}
	@Override
	public void push(E e) {
		// TODO 自動生成的方法存根
		list.addFrist(e);
	}
	@Override
	public E pop() {
		// TODO 自動生成的方法存根
		return list.removeFrist();
	}
	@Override
	public boolean isEmpty() {
		// TODO 自動生成的方法存根
		return list.isEmpty();
	}
	@Override
	public E peek() {
		// TODO 自動生成的方法存根
		return list.getFrist();
	}
	@Override
	public int getSize() {
		// TODO 自動生成的方法存根
		return list.getSize();
	}
	@Override
	public void clear() {
		// TODO 自動生成的方法存根
		list.clear();
	}
	@Override
	public String toString() {
		// TODO 自動生成的方法存根
		return list.toString();
	}
	
}
//用前邊實現的鏈棧去實現漢諾塔
package p03.遞歸;

import p02.動態鏈表.LinkedStack;

public class Hano {
	public static void main(String[] args) {
		
//		String x = "x";	//原始盤
//		String y = "y";	//借助盤
//		String z = "z";	//最終盤
//		move(x,y,z,N);
		int N=10;
		LinkedStack<Integer> stackX=new LinkedStack();
		for(int i=N;i>=1;i--){
			stackX.push(i);
		}
		LinkedStack<Integer> stackY=new LinkedStack();
		LinkedStack<Integer> stackZ=new LinkedStack();
		
		move(stackX,stackY,stackZ,N);
		
		System.out.println(stackX);
		System.out.println(stackZ);

	}
	//定義三個棧,實現其移動
	public static void move(LinkedStack<Integer> x,LinkedStack<Integer> y, LinkedStack<Integer> z, int level) {
		
		if(level==1){
			z.push(x.pop());
		}else{
			move(x,z,y,level-1);
			z.push(x.pop());
			move(y,x,z,level-1);
		}
		
	}
	//只打印移動過程。
	/*public static void move(String x, String y, String z, int level) {
		if(level==1){
			System.out.println(x+"->"+z);
			return;
		}
		move(x,z,y,level-1);
		System.out.println(x+"->"+z);
		move(y,x,z,level-1);
		
	}*/

}

感謝各位的閱讀!關于“JAVA數據結構之漢諾塔代碼的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁远县| 自贡市| 湟源县| 和林格尔县| 怀化市| 金溪县| 介休市| 定日县| 湘潭县| 青海省| 镇江市| 措美县| 平潭县| 安西县| 凉城县| 汝城县| 綦江县| 承德市| 罗山县| 通山县| 饶平县| 曲靖市| 南华县| 喜德县| 子洲县| 云阳县| 始兴县| 确山县| 绥中县| 西盟| 夏河县| 邵东县| 五莲县| 苍南县| 浮山县| 宽甸| 县级市| 通海县| 武平县| 丁青县| 大连市|