为什么这个sort不起作用

#include<bits/stdc++.h>
using namespace std;
int n;
void next(int *p)
{
    int i,j,t;
    for(i=n;i>=2;i--)
    if(p[i-1]<p[i])
    break;
    for(j=n;j>=i;j--)
    if(p[i-1]<p[j])
    {
        t=p[j];
        p[j]=p[i-1];
        p[i-1]=t;
        break;
    }
    sort(p+i,p+n);
}
int main()
{ 
     int i,q[12]={0};
     cin>>n;
     long p=1;
     for(i=1;i<=n;i++)
     q[i]=i,p*=i;
     if(n==1) 
     return !puts("1");
     while(p--)
     {
         for(i=1;i<=n;i++)
         cout<<"    "<<q[i];
         cout<<endl;
         next(q);
     }
     
     
     
        return 0;
}

 这是一个求输进去的n的所有全排列的算法的代码 为什么这个子函数最后的sort不起作用呢 
阅读 3.1k
1 个回答

sort的第二个函数参数错了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题