遞迴函式(詳例)

2021-09-12 07:20:44 字數 1004 閱讀 8658

從函式棧的角度的運用

簡單的列印運用

#includevoid function(int n);

int main()

void function(int n)

return;

}

非空鍊錶的遞迴找最大值

lim findmax(lim headptr)

}

為了更好的理解遞迴的執行過程:

在呼叫自生到最後時,if(headptr->nextptr==null)

return headptr;返回headptr,此時的maxptr第一次被賦予節點headptr,然後在 maxptr=findmax(headptr->nextptr);執行的過程中,headptr變為headptr的前乙個指標,並在**中第二個renturn中,再preheadptr->num與maxptr->num比較大小,並將較大的付給maxptr,依此類推,直到返回到第乙個節點,結束。

3.鍊錶遞迴列印

第乙個為逆序列印

void print(lim headptr)

}

第二個為順序列印

void rprint(lim headptr)

}

遞迴的進製轉換

子函式:

;int len = 0;

if(n == 0)

convto(s,n/b,b);

len = strlen(s);

len = strlen(s);

// printf("%d--",len);

s[len] = bit[n%b];

//printf("%c--",bit[n%b]);

s[len+1]='\0';

}

主函式:

int main()

構造遞迴函式典例

原題如下 我們要求找出具有下列性質數的個數 包含輸入的自然數nnn 先輸入乙個自然數n n 1000 然後對此自然數按照如下方法進行處理 不作任何處理 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入格式 1個自然數n n 1000...

詳聊單例模式

發布物件 使乙個物件能夠被當前範圍之外的 所使用。物件逸出 一種錯誤的發布。當乙個物件還沒有構造完成時,就使它被其他執行緒所見。安全發布物件的4種方法 author title singletonex1 description 單例 懶漢模式 執行緒不安全 date 2020 4 11 15 16 ...

ngx process options函式詳解

ngx process options是初始化init cycle中的一些如 conf file,prefix,conf prefix等字段的功能,其方法的定義在src core nginx.c中,以下為詳細 主要功能是將ngx prefix,配置檔案的位置資訊,以及命令列引數的資訊初始化到cycl...