資料結構 使用棧實現遞迴函式的非遞迴計算

2021-10-24 07:18:27 字數 754 閱讀 1455

用棧實現的c語言**為:

#include

#define maxsize 10

//棧的最大容量,此時n能取的最大值為11

double

fun(

int n,

double x)

;//函式宣告

intmain()

printf

("輸入x:"

, x)

;scanf_s

("%lf"

,&x)

;printf

("計算結果為%lf"

,fun

(n, x));

while(1

);return0;

}//使用棧實現遞迴操作

double

fun(

int n,

double x)

st[maxsize]

;double fv0 =

1, fv1 =

2*x;

//邊界

int top =-1

;//初始棧頂

for(

int i = n; i >=

2; i--

)while

(top >=0)

return fv1;

}

資料結構 非遞迴

include stdafx.h include using namespace std 二叉樹鏈式儲存的標頭檔案 typedef char datatype 結點屬性值型別 typedef struct node 二叉樹結點的型別 bintnode typedef bintnode bintree...

11 資料結構 使用遞迴實現棧的應用舉例

用遞迴函式求解迷宮問題 define maxlength 25 設迷宮的最大行列為25 typedef int mazetype maxlength maxlength 迷宮陣列型別 行 列 struct postype 迷宮座標位置型別 mazetype m 迷宮陣列 postype begin1...

資料結構 遞迴與非遞迴實現DFS與BFS

我皮了一下用 c c c 的vector寫的,其實也不難詳情請參見 如果有不會dfs與bfs的 參見 資料 遞迴bfs include using namespace std const int maxn 1e5 50 vector int g maxn int n m u v st queue i...