码迷,mamicode.com
首页 > 其他好文 > 详细

蒟蒻之栈模拟递归

时间:2015-07-22 22:06:02      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:

书上的例子

 1 #include <iostream>            /*顺序栈*/
 2 using namespace std;
 3 #define size 50
 4 typedef struct node
 5 {
 6     int data[size][2];        /*每一层参数+当前返回值*/
 7     int top;            
 8 }stacknode;
 9 int main()
10 {
11     int n;
12     stacknode s;
13     s.top=0;
14     while(cin>>n)
15     {
16         s.data[s.top][0]=n;
17         s.data[s.top++][1]=0;
18         while(n>2)
19         {
20             n--;
21             s.data[s.top][0]=n;
22             s.data[s.top++][1]=0;
23         }
24         s.data[s.top][0]=1;
25         s.data[s.top][1]=1;
26         while(s.top!=-1)
27         {
28             s.data[s.top-1][1]=s.data[s.top][1]*s.data[s.top-1][0];
29             s.top--;
30         }
31         cout<<s.data[s.top+1][1]<<endl;
32     }
33 }

 

蒟蒻之栈模拟递归

标签:

原文地址:http://www.cnblogs.com/a1225234/p/4668614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!