作业帮 > 综合 > 作业

prev_permutation不能求有重复元素的排列吗?

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 04:29:43
prev_permutation不能求有重复元素的排列吗?
看下下面代码?当输入 4 1 2 2 4 看结果.next_permutation得到正确的结果,而prev_permutation得不到.为什么?
#include
#include
using namespace std;
int s[15],t[15];int i,l;
void print(int *w)
{
\x05for(int i=0;ib;}
int main()
{
\x05while(cin>>l)
\x05{
\x05\x05for(i=0;i>t[i];
\x05\x05sort(t,t+l);
\x05\x05for(i=0;i
prev_permutation不能求有重复元素的排列吗?
对,我也发现了.写了个求前个排列的算法.参考下.
#include
#include
using namespace std;
int w[20];
int n,i,j,k,mi;
int cmp(int a,int b)
{
\x05return a>b;
}
void pre()
{
\x05for(k=0;;k++)
{
\x05printf("%3d :",k+1);for(i=0;i0;j--)if(w[j]n)
\x05{
\x05 for(i=0;i