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

溫馨提示×

溫馨提示×

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

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

C++算法之爬樓梯問題的代碼

發布時間:2020-07-06 03:38:20 來源:網絡 閱讀:700 作者:gougoude 欄目:編程語言

如下代碼是關于C++算法之爬樓梯問題的代碼。

{
if(layer <= 0)
return;

return;  

}

(2)判斷當前的層數是為1或者是否為2

{
if(layer <= 0)
return;

if(layer == 1){  
    printf_layer_one(layer, stack, top);  
    return;  
}  

if(layer == 2){  
    printf_layer_two(layer, stack, top);  
    return;  
}  

return;  

}

(3)對于2中提及的打印函數進行設計,代碼補全

#define GENERAL_PRINT_MESSAGE(x)
do {
printf(#x);
printf("%d", stack[index]);
printf("n");
}while(0)

{
int index ;
GENERAL_PRINT_MESSAGE(1);
}

{
int index;

GENERAL_PRINT_MESSAGE(11);  
GENERAL_PRINT_MESSAGE(2);  

}

注:a)代碼中我們使用了宏,注意這是一個do{}while(0)的結構,同時我們對x進行了字符串強轉b)當剩下臺階為2的時候,此時有兩種情形,要么一次跳完;要么分兩次(4)當階梯不為1或者2的時候,此時需要遞歸處理

{
jump_ladder(layer, stack, top);
}

{
if(layer <= 0)
return;

if(layer == 1){  
    printf_layer_one(layer, stack, top);  
    return;  
}  

if(layer == 2){  
    printf_layer_two(layer, stack, top);  
    return;  
}  

_jump_ladder(layer- 1, stack, top, 1);  
_jump_ladder(layer- 2, stack, top, 2);  

}

祝:這里在函數的結尾添加了一個函數,主要是遞歸的時候需要向堆棧中保存一些數據,為了代碼簡練,我們重新定義了一個函數。總結:1)這道題目和斐波那契數列十分類似,是一道地地道道的遞歸題目2)遞歸的函數也需要好好測試,使用不當,極容易堆棧溢出或者死循環。對此,我們可以按照參數從小到大的順序依次測試,比如說,可以測試樓梯為1、2、3的時候應該怎么運行,同時手算和程序相結合,不斷修正代碼,完善代碼。

向AI問一下細節

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

AI

宁阳县| 遵义市| 南木林县| 沽源县| 囊谦县| 桂东县| 靖西县| 长兴县| 仪征市| 岗巴县| 昌乐县| 都安| 宁津县| 新津县| 中阳县| 郯城县| 叙永县| 类乌齐县| 宣化县| 宁海县| 清丰县| 三门峡市| 江永县| 灌阳县| 武城县| 六安市| 星子县| 凌源市| 林口县| 阿克苏市| 荔波县| 宜州市| 霍山县| 玛多县| 江津市| 桐城市| 东乡| 临澧县| 天水市| 北碚区| 岢岚县|