2011-02-06 14 views
0

next_permutation問題C++

for(int i=0; i<line; i++) { 
    next_permutation(nums, nums+N); 
    if(DEBUG) { 
     for(int j=0; j<N; j++) { 
      cout << nums[j] << " "; 
     } 
    } 
} 

を、私はこの出力を取得しています:彼の場合のInt -1076591092_1_2_4_3_-1076591092_1_3_2_4_

を、行は3になり、そしてNは5です。 ありがとう!

+5

'nums'はどのように定義され、初期化されていますか? –

+3

あなたは代わりに '#ifdef _DEBUG'を使うかもしれません – Marlon

+1

もう少し文脈がなければ私は助けることはできないと思います。これは、初期化されていない変数またはメモリの破損のように思えますが、コードなしではわかりません。 – templatetypedef

答えて

0

この問題は、メモリ管理が不十分であることに関連しています。

2

[-1076591092, 1, 3, 2, 4]は、definitionに従って、[-1076591092, 1, 2, 4, 3]の次の置換です。

+0

nums [] = {1,2,3,4,5}; – joshim5