栈的斐波那契实现(转)
作者:
假如有点困
,
2022-07-26 12:09:23
,
所有人可见
,
阅读 237
#include<stack>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct Node{
int n = 0;
int tag = 0;
};
int Fibnacci(int n)
{
int sum = 0;
stack<Node> s;
Node w;
do
{
while (n > 1)
{
w.n = n;
w.tag = 1;
s.push(w);
n--;
}
sum = sum + n;
while (!s.empty())
{
w = s.top();
s.pop();
if (w.tag == 1)
{
w.tag = 2;
s.push(w);
n = w.n - 2;
break;
}
}
} while (!s.empty());
return sum;
}
int main()
{
printf("%d", Fibnacci(4));
return 0;
}
-----------------------------------
栈和递归---斐波那契数列的非递归实现
https: