标题:高手进来帮帮忙看看这个全排列算法怎么做?
只看楼主
xichong
Rank: 7Rank: 7Rank: 7
来 自:四川南充
等 级:黑侠
威 望:2
帖 子:146
专家分:582
注 册:2009-6-10
结帖率:100%
已结贴  问题点数:30 回复次数:1 
高手进来帮帮忙看看这个全排列算法怎么做?
求对a[]={1,1,1,1,-1,-1,-1,-1}进行无重复的全排列算法。要求:1.程序要具有通用性,至少要能实现任意N个1和N个-1的全排列;2.不要用树的知识;谢谢了!
搜索更多相关主题的帖子: 算法 排列 
2010-04-04 11:41
chengwen1016
Rank: 2
等 级:论坛游民
帖 子:14
专家分:60
注 册:2010-3-6
得分:30 
回复 楼主 xichong
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int i, a[]={1,1,1,1,-1,-1,-1,-1};
    sort(a, a+8);
    do
    {
        for (i = 0; i < 8; i++) cout << a[i] << " ";
        cout << endl;
    }while (next_permutation(a, a+8));
    return 0;
}

至于任意  N 的, 你把数组改成自己输入就行了。
2010-04-06 12:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-301624-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022251 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved