首页 新闻 会员 周边

c++实现逆康托展开出错

0
[待解决问题]

源代码:
/*
*逆康托展开C++实现
*/
#include <iostream>
#include<cmath>
#include <vector>//vector标准库
#include <algorithm>//sort函数标准库
static const int FAC[] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880}; // 阶乘

void decantor(int x, int n)
{
using std::vector;//
vector<int> v; // 存放当前可选数
vector<int> a; // 所求排列组合
for(int m=1;m<=n;m++)
v.push_back(m);
for(int i=n;i>=1;i--)
{
int r = x % FAC[i-1];//表示余数
int t = x / FAC[i-1];//表示所得到的最大整数
x = r;
sort(v.begin(),v.end());// 默认从小到大排序
a.push_back(v[t]); // 剩余数里第t+1个数为当前位
v.erase(v.begin()+t); // 移除选做当前位的数
}
}
int main(){

int x= 61;
int n= 5;
decantor(61,5);

}

问题:D:\C++文件\ACM\数学基本算法\逆康托展开\逆康托展开.cpp(33) : error C2065: 'sort' : undeclared identifier

小鲤鱼哈哈哈的主页 小鲤鱼哈哈哈 | 菜鸟二级 | 园豆:208
提问于:2018-10-18 22:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册