【问题标题】:next_permutation problem c++next_permutation 问题 C++
【发布时间】:2011-02-06 21:15:14
【问题描述】:

使用此代码时:

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

我得到这个输出:-1076591092_1_2_4_3_-1076591092_1_3_2_4_

在他的情况下,行是 3,N 是 5; 谢谢!

【问题讨论】:

  • nums 是如何定义和初始化的?
  • 你可能想要#ifdef _DEBUG
  • 如果没有更多上下文,我认为我们无能为力。这似乎是未初始化的变量或内存损坏,但如果没有更多代码,我无法判断是哪个。

标签: c++ stl permutation


【解决方案1】:

[-1076591092, 1, 3, 2, 4]是[-1076591092, 1, 2, 4, 3]之后的下一个排列,根据definition。

【讨论】:

    【解决方案2】:

    问题与内存管理不善有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-05
      相关资源
      最近更新 更多