相关疑难解决方法(0)

提升zip_iterator和std :: sort

我有两个数组values,keys两个长度相同.我想values使用keys数组作为键对数组进行排序.我被告知boost的zip迭代器只是将两个数组锁定在一起并同时对它们进行处理的正确工具.

这是我尝试使用boost :: zip_iterator来解决无法编译的排序问题gcc.有人可以帮我修复这段代码吗?

问题在于线

std::sort ( boost::make_zip_iterator( keys, values ), boost::make_zip_iterator( keys+N , values+N ));

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>
#include <boost/iterator/zip_iterator.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>



int main(int argc, char *argv[])
{
  int N=10;
  int    keys[N];
  double values[N];
  int M=100;

  //Create the vectors.
  for (int i = 0; i < N; ++i)
   {
     keys[i]   = rand()%M;
     values[i] = 1.0*rand()/RAND_MAX;
   } …
Run Code Online (Sandbox Code Playgroud)

c++ boost

11
推荐指数
2
解决办法
6245
查看次数

标签 统计

boost ×1

c++ ×1