91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-13
  • 語言: C/C++
  • 標(biāo)簽: 漢諾塔??非遞歸????

資源簡介

用棧來實現(xiàn)漢諾塔,要明白遞歸就是棧的重要應(yīng)用之一,遞歸是系統(tǒng)自動調(diào)用棧來處理。

資源截圖

代碼片段和文件信息

/*
2013年10月18日16:03:22
用棧來實現(xiàn)漢諾塔
參考資料:http://www.nowamagic.net/librarys/veda/detail/2300
*/

#include?
#include?
#define?MAXSIZE?100
#define?INCREMENT?2
int?i=0;

//定義棧結(jié)構(gòu)
typedef?struct
{
int?*?top; //棧頂指針
int?*?base; //棧底指針
int?length; //棧的長度
}Stack;


void?move(char?a?char?b){
i++;
printf(“將%c柱最上面的盤子移動到%c柱上\n“ab);

}

void?Push(Stack?*pint?nchar?achar?b?char?c){
if(p->top-p->base>=p->length){ //如果棧滿,重新分配空間
printf(“棧滿了,系統(tǒng)正在重新分配空間...\n“);
p->base=(int?*)realloc(p->base(MAXSIZE+INCREMENT)?*?sizeof(int));

if(!p->base) //空間分配失敗
exit(-1);
p->top?=?p->base+p->length;
p->length?=?p->length+INCREMENT;
}

//依次將盤子數(shù)量以及柱子的名詞壓入棧(入棧4個元素)
*(p->top)?=?n;
p->top++;
*(p->top)?=?a;
p->top++;
*(p->top)?=?b;
p->top++;
*(p->top)?=?c;
p->top++;

}

void?Pop(Stack?*p){
if(p->top==p->base){
printf(“棧空,不能出棧“);
}else{

//出棧4個元素
p->top-

評論

共有 條評論