中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

清苑县| 常宁市| 西吉县| 崇仁县| 新龙县| 罗定市| 肃宁县| 凤翔县| 延寿县| 营山县| 松原市| 兴文县| 清苑县| 利辛县| 白河县| 黑河市| 南川市| 民丰县| 和田市| 大洼县| 泌阳县| 新蔡县| 泰安市| 马山县| 内黄县| 平湖市| 淮北市| 亳州市| 瓦房店市| 滦平县| 河津市| 读书| 萨嘎县| 揭东县| 敦化市| 丹江口市| 磐石市| 屏山县| 青冈县| 贵阳市| 当涂县|