无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《數(shù)據(jù)結(jié)構(gòu)(C語言版)》棧與遞歸之Hanoi塔

2022-03-31 17:20 作者:回到唐朝當(dāng)少爺  | 我要投稿

清華大學(xué)計算機(jī)系列教材? ?累計發(fā)行超400萬冊

嚴(yán)蔚敏 吳偉民?編著

數(shù)據(jù)結(jié)構(gòu)(C語言版)?

以下是本人對紫皮書第三章3.3節(jié)棧與遞歸的實現(xiàn)中Hanoi塔問題的代碼,3.2.5表達(dá)式求值、3.2.4迷宮求解、3.2.1數(shù)制轉(zhuǎn)換、3.2.2括號匹配的檢驗、3.2.3行編輯程序這些完整的代碼已在棧的應(yīng)用專欄給出

上運行結(jié)果:

代碼如下

(貌似專欄把我縮進(jìn)吃了,懶得加了,另外建議用visual studio編譯)?

#include <stdio.h>

void move(char a, int n, char b);//把第n個圓盤從塔柱a移動到塔柱b

void hanoi(int n, char x, char y, char z);//中間的y為輔助塔,將塔座x上的n個圓盤搬到塔座z上

int count = 0;//計算搬運次數(shù)

int main()

{

char x = 'x';

char y = 'y';

char z = 'z';

hanoi(3, x, y, z);

printf("搬運完成,總共需要搬運%d次", count);

return 0;

}

//塔座x上有按直徑由小到大且自上而下編號為1至n的n個圓盤

void hanoi(int n, char x, char y, char z)//中間的y為輔助塔,將塔座x上的n個圓盤搬到塔座z上

{

if (n == 1)

{

move(x, 1, z);//將編號為1的圓盤從x移到z

}

else

{

hanoi(n - 1, x, z, y);

move(x, n, z);

hanoi(n - 1, y, x, z);

}

}

void move(char x, int n, char z)//把第n個圓盤從塔柱x移動到塔柱z

{

printf("第%d次:把%d號圓盤從塔座%c移動到塔座%c\n",++count, n, x, z);

}


《數(shù)據(jù)結(jié)構(gòu)(C語言版)》棧與遞歸之Hanoi塔的評論 (共 條)

分享到微博請遵守國家法律
紫金县| 九台市| 朝阳县| 金坛市| 巴东县| 云安县| 西华县| 平昌县| 岑巩县| 凤山县| 临泽县| 日喀则市| 晴隆县| 南溪县| 中江县| 顺昌县| 开原市| 酒泉市| 福贡县| 民权县| 浮山县| 桑日县| 孟州市| 太仓市| 博爱县| 营山县| 繁昌县| 庆阳市| 容城县| 博罗县| 大石桥市| 蒙城县| 嘉义市| 泌阳县| 宜兰县| 宣恩县| 县级市| 安义县| 贡嘎县| 宝兴县| 高清|