侧边栏壁纸
博主头像
王小木人

这是很长,很好的一生

  • 累计撰写 141 篇文章
  • 累计创建 43 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

全排列c++

王小木人
2021-05-22 / 0 评论 / 0 点赞 / 843 阅读 / 619 字
#include<iostream>
#include<string.h>
#include<algorithm>
int coutn=0;
int count1=0;
using namespace std;
int main()
{
int num[10]={0,1,2,3,4,5,6,7,8,9};

void fun(int[],int);
fun(num,0);  //法一 
do{
count1++;
}while(next_permutation(num,num+10));//法二 
cout<<coutn<<'\n'<<count1;
return 0;
}
void fun(int num[],int k)
{
if(k==9)

{
//void coutnum(int[]);
  // coutnum(num);
coutn++;
return;
}
for(int i=k;i<10;i++)
{
int t=num[i];num[i]=num[k];num[k]=t;
fun(num,k+1);
    int t1=num[i];num[i]=num[k];num[k]=t1;
}
}
void coutnum(int num[])
{
   
    for(int i=0;i<9;i++)
    {
    cout<<num[i]<<"";
    }
    coutn++;
    cout<<"\n";
}
0

评论区