設置 | 登錄 | 註冊

作者共發了2篇帖子。

【方法】用next_permutation函数生成部分排列,以A5_7为例

1樓 巨大八爪鱼 2016-5-22 13:22
【代码】
#include <algorithm>
#include <iostream>

using namespace std;

int arr2[] = {1, 2, 3, 4, 5, 6, 7};

int main(void)
{
    int i;
    int lst = -1;
    do
    {
        if (lst == arr2[4])
            continue;
        lst = arr2[4];

        for (i = 0; i < 5; i++)
            cout << arr2[i] << ' ';
        cout << endl;
    } while (next_permutation(arr2, arr2 + 6));
    return 0;
}
【运行结果】
4 2 3 6 1
4 2 3 6 5
4 2 5 1 3
4 2 5 1 6
4 2 5 3 1
4 2 5 3 6
4 2 5 6 1
4 2 5 6 3
4 2 6 1 5
4 2 6 3 1
4 2 6 3 5
4 2 6 5 1
4 2 6 5 3
4 3 1 2 5
4 3 1 2 6
4 3 1 5 2
4 3 1 5 6
4 3 1 6 2
4 3 1 6 5
4 3 2 1 6
4 3 2 5 1
4 3 2 5 6
4 3 2 6 1
4 3 2 6 5
4 3 5 1 2
4 3 5 1 6
4 3 5 2 1
4 3 5 2 6
4 3 5 6 1
4 3 5 6 2
4 3 6 1 5
4 3 6 2 1
4 3 6 2 5
4 3 6 5 1
4 3 6 5 2
4 5 1 2 3
4 5 1 2 6
4 5 1 3 2
4 5 1 3 6
4 5 1 6 2
4 5 1 6 3
4 5 2 1 6
4 5 2 3 1
4 5 2 3 6
4 5 2 6 1
4 5 2 6 3
4 5 3 1 2
4 5 3 1 6
4 5 3 2 1
4 5 3 2 6
4 5 3 6 1
4 5 3 6 2
4 5 6 1 3
4 5 6 2 1
4 5 6 2 3
4 5 6 3 1
4 5 6 3 2
4 6 1 2 3
4 6 1 2 5
4 6 1 3 2
4 6 1 3 5
4 6 1 5 2
4 6 1 5 3
4 6 2 1 5
4 6 2 3 1
4 6 2 3 5
4 6 2 5 1
4 6 2 5 3
4 6 3 1 2
4 6 3 1 5
4 6 3 2 1
4 6 3 2 5
4 6 3 5 1
4 6 3 5 2
4 6 5 1 3
4 6 5 2 1
4 6 5 2 3
4 6 5 3 1
4 6 5 3 2
5 1 2 3 4
5 1 2 3 6
5 1 2 4 3
5 1 2 4 6
5 1 2 6 3
5 1 2 6 4
5 1 3 2 6
5 1 3 4 2
5 1 3 4 6
5 1 3 6 2
5 1 3 6 4
5 1 4 2 3
5 1 4 2 6
5 1 4 3 2
5 1 4 3 6
5 1 4 6 2
5 1 4 6 3
5 1 6 2 4
5 1 6 3 2
5 1 6 3 4
5 1 6 4 2
5 1 6 4 3
5 2 1 3 4
5 2 1 3 6
5 2 1 4 3
5 2 1 4 6
5 2 1 6 3
5 2 1 6 4
5 2 3 1 6
5 2 3 4 1
5 2 3 4 6
5 2 3 6 1
5 2 3 6 4
5 2 4 1 3
5 2 4 1 6
5 2 4 3 1
5 2 4 3 6
5 2 4 6 1
5 2 4 6 3
5 2 6 1 4
5 2 6 3 1
5 2 6 3 4
5 2 6 4 1
5 2 6 4 3
5 3 1 2 4
5 3 1 2 6
5 3 1 4 2
5 3 1 4 6
5 3 1 6 2
5 3 1 6 4
5 3 2 1 6
5 3 2 4 1
5 3 2 4 6
5 3 2 6 1
5 3 2 6 4
5 3 4 1 2
5 3 4 1 6
5 3 4 2 1
5 3 4 2 6
5 3 4 6 1
5 3 4 6 2
5 3 6 1 4
5 3 6 2 1
5 3 6 2 4
5 3 6 4 1
5 3 6 4 2
5 4 1 2 3
5 4 1 2 6
5 4 1 3 2
5 4 1 3 6
5 4 1 6 2
5 4 1 6 3
5 4 2 1 6
5 4 2 3 1
5 4 2 3 6
5 4 2 6 1
5 4 2 6 3
5 4 3 1 2
5 4 3 1 6
5 4 3 2 1
5 4 3 2 6
5 4 3 6 1
5 4 3 6 2
5 4 6 1 3
5 4 6 2 1
5 4 6 2 3
5 4 6 3 1
5 4 6 3 2
5 6 1 2 3
5 6 1 2 4
5 6 1 3 2
5 6 1 3 4
5 6 1 4 2
5 6 1 4 3
5 6 2 1 4
5 6 2 3 1
5 6 2 3 4
5 6 2 4 1
5 6 2 4 3
5 6 3 1 2
5 6 3 1 4
5 6 3 2 1
5 6 3 2 4
5 6 3 4 1
5 6 3 4 2
5 6 4 1 3
5 6 4 2 1
5 6 4 2 3
5 6 4 3 1
5 6 4 3 2
6 1 2 3 4
6 1 2 3 5
6 1 2 4 3
6 1 2 4 5
6 1 2 5 3
6 1 2 5 4
6 1 3 2 5
6 1 3 4 2
6 1 3 4 5
6 1 3 5 2
6 1 3 5 4
6 1 4 2 3
6 1 4 2 5
6 1 4 3 2
6 1 4 3 5
6 1 4 5 2
6 1 4 5 3
6 1 5 2 4
6 1 5 3 2
6 1 5 3 4
6 1 5 4 2
6 1 5 4 3
6 2 1 3 4
6 2 1 3 5
6 2 1 4 3
6 2 1 4 5
6 2 1 5 3
6 2 1 5 4
6 2 3 1 5
6 2 3 4 1
6 2 3 4 5
6 2 3 5 1
6 2 3 5 4
6 2 4 1 3
6 2 4 1 5
6 2 4 3 1
6 2 4 3 5
6 2 4 5 1
6 2 4 5 3
6 2 5 1 4
6 2 5 3 1
6 2 5 3 4
6 2 5 4 1
6 2 5 4 3
6 3 1 2 4
6 3 1 2 5
6 3 1 4 2
6 3 1 4 5
6 3 1 5 2
6 3 1 5 4
6 3 2 1 5
6 3 2 4 1
6 3 2 4 5
6 3 2 5 1
6 3 2 5 4
6 3 4 1 2
6 3 4 1 5
6 3 4 2 1
6 3 4 2 5
6 3 4 5 1
6 3 4 5 2
6 3 5 1 4
6 3 5 2 1
6 3 5 2 4
6 3 5 4 1
6 3 5 4 2
6 4 1 2 3
6 4 1 2 5
6 4 1 3 2
6 4 1 3 5
6 4 1 5 2
6 4 1 5 3
6 4 2 1 5
6 4 2 3 1
6 4 2 3 5
6 4 2 5 1
6 4 2 5 3
6 4 3 1 2
6 4 3 1 5
6 4 3 2 1
6 4 3 2 5
6 4 3 5 1
6 4 3 5 2
6 4 5 1 3
6 4 5 2 1
6 4 5 2 3
6 4 5 3 1
6 4 5 3 2
6 5 1 2 3
6 5 1 2 4
6 5 1 3 2
6 5 1 3 4
6 5 1 4 2
6 5 1 4 3
6 5 2 1 4
6 5 2 3 1
6 5 2 3 4
6 5 2 4 1
6 5 2 4 3
6 5 3 1 2
6 5 3 1 4
6 5 3 2 1
6 5 3 2 4
6 5 3 4 1
6 5 3 4 2
6 5 4 1 3
6 5 4 2 1
6 5 4 2 3
6 5 4 3 1
6 5 4 3 2
2樓 巨大八爪鱼 2016-5-22 13:25
因为控制台中输出的文字有限,所以只有4~6开头的这部分结果

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。