012 C 之遞迴函式

2021-10-10 08:13:34 字數 1444 閱讀 4177

遞迴函式:自己呼叫自己

示例:

【排序方法】我們常常要從n個不同元素的所有排序中確定乙個最佳排序。設計乙個函式生成 list[k:m] 的所有排序。

#include

#include

// has copy

#include

using

namespace std;

template

<

class

t>

void

permutations

(t list,

int k,

int m)

else

// list[k:m] 有不止乙個元素

// 生成這些遞迴

for(i = k; i <= m; i++)}

intmain()

; cout <<

"the permutations of 1 are"

<< endl;

permutations

(a,0,0

);cout <<

"the permutations of 123 are"

<< endl;

permutations

(a,0,2

);return0;

}

輸出結果:

the

permutationsof1

are1

thepermutations

of123

are123

132213

231321

312

【子集生成方法】編寫乙個c++遞迴函式,輸出n個元素的所有子集。例如,三元素集的子集是{}(空集),,,,,,,。這些子集用0/1組成的**序列來表示分別是000,100,010,001,110,101,011,111(0表示相應的元素不在子集中,1表示相應的元素在子集中)。因此你的程式輸出長度為n的0/1序列即可。

#include

using

namespace std;

voidf(

int*mark,

int n,

int i)

"<< endl;

return;}

mark[n]=0

;f(mark, n +

1, i)

; mark[n]=1

;f(mark, n +

1, i);}

intmain()

輸出結果:

the

subset

ofthe

mark[3

]are:

012 C 中C風格字串

include include using namespace std c 提供了一下兩種型別的字串表示形式 c 風格字串 c 引入的string類型別 c 風格字串 c 風格的字串起源於 c 語言,並在 c 中繼續得到支援。字串實際上是使用 null 字元 0 終止的一維字元陣列。因此,乙個以 n...

遞迴之遞迴的函式

遞迴的函式 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給定乙個函式 f a,b,c 如果 a 0 或 b 0 或 c 0 返回值為 1 如果 a 20 或 b 20 或...

C 函式 遞迴

1.函式一定要宣告,這符合 的嚴謹性 但是返回值是int型別的函式不需要宣告也不會報錯,但最好不要這麼做 2.乙個函式在它的函式體內呼叫它自身稱為遞迴呼叫。為了防止遞迴呼叫無終止地進行,必須在函式內有終止遞迴呼叫的手段 遞迴函式構成條件 自己呼叫自己 存在乙個條件能夠讓遞迴結束 問題的規模能夠縮小 ...