遞迴函式:自己呼叫自己
示例:
【排序方法】我們常常要從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.乙個函式在它的函式體內呼叫它自身稱為遞迴呼叫。為了防止遞迴呼叫無終止地進行,必須在函式內有終止遞迴呼叫的手段 遞迴函式構成條件 自己呼叫自己 存在乙個條件能夠讓遞迴結束 問題的規模能夠縮小 ...