遞迴演算法分析----以乙個最簡單的例子為例
題目:用遞迴的方法將整數按高到低位輸出相應的數字字元.例如
,對整數
603,
將輸出3
個數字6,0,3.
源程式:
#include
int main(void)
fun(n);
return 0; }
void fun(int k)
分析:咱們以這個例子來解釋遞迴。遞迴就是自己呼叫自己的意思,在
void fun(int k)
函式中,有一句是
fun(a);
這就是用到了遞迴。
現在以輸入
603為例: 輸入
603後,
k=603,
進到void fun(int 603)
這個函式:
int a;
a=603/10=60;
if(60!=0)
fun(a);(1)
putchar(603%10+』0』);
printf(",");
句子(1
)中60
不等於0
這個是成立的,所以要執行
fun(a)
,也就是
fun(60)
這個函式,所以
fun(60)
又是乙個完整的函式:
int a;
a=60/10=6;
if(6!=0)
fun(a);(2)
putchar(60%10+』0』);
printf(",");
句子(2)中
6不等於
0也是成立的,所以要執行
fun(a)
,也就是
fun(6)
這個函式,所以
fun(6)
也是乙個完整的函式:
int a;
a=6/10=0;
if(0!=0)
fun(0);(3)
putchar(6%10+』0』);
printf(",");
句子(3)中
0不等於
0這個是不成立的,所以
fun(0)
這個函式不被執行,遞迴就結束了。
所以整個
void fun(int k)
函式展開來就是:
void fun(int 603)
putchar(60%10+'0');//
輸出'0'
printf(","); }
putchar(603%10+'0');//
輸出'3'
printf(","); }
紅色**部分就是上面的句子
(2)的完整內容
,紅色**加上藍色**之和就是句子(
1)展開的完整內容。
整個程式順序執行下來,先輸出
6,再輸出
0,最後輸出
3
乙個簡單css例子
lang en charset utf 8 css講解title rel stylesheet href style.css body div dd xddaa hover abc ulli first child ulli last child ulli nth child 3 ulli only...
乙個簡單的json例子
名稱 年齡郵箱 response.setcontenttype text html charset utf 8 response.setheader cache control no cache jsonobject json new jsonobject try json.put jobs mem...
乙個poll的簡單例子
該程式使用poll事件機制實現了乙個簡單的訊息回顯的功能,其伺服器端和客戶端的 如下所示 伺服器端 start from the very beginning,and to create greatness author chuangwei lin e mail 979951191 qq.com b...