我見過一些例子,如何做到這一點,比如這個:做一個排列函數,輸出所有可能的數組排列?
void permutation(char * arr, int curr, int size)
{
if(curr == size-1)
{
for(int a=0; a<size; a++)
cout << arr[a] << "\t";
cout << endl;
}
else
{
for(int i=curr; i<size; i++)
{
swap(&arr[curr], &arr[i]);
permutation(arr, curr+1, size);
swap(&arr[curr], &arr[i]);
}
}
}
不過,我試圖讓一個函數,只需要在陣列中的大小和一個ostream輸出的置換函數....例如:
無效排列組合爲(int *項目,const int的&大小,ostream的&出)
我不能換我圍繞如何頭至只用大小來做,一個人怎麼會這樣做呢?
你是什麼意思 「只是大小」? –
有沒有特別的理由想要擺脫'curr'作爲函數參數? –
'std :: next_permutation'是一個很好的起點。 – dasblinkenlight