首页 > 解决方案 > 无法在 C++ 中实现桶排序

问题描述

我需要帮助才能在 C++ 中获取 bucketSort 的功能代码;互联网上的所有代码都无法执行。

向量(桶)前面的这个操作符 [] 有什么作用?我知道它创建了 n 个存储桶,但我不确定它是否在主向量存储桶中创建了 n 个子向量!

此外,我无法弄清楚为什么代码不起作用,请帮助我。先感谢您。

#include <iostream>
#include <vector>
#include <algorithm
#include <iterator>
using namespace std;


void bucketSort (vector <int> &v){

int n;
v.resize(n)


vector<int> buckets[v];

   for (int i=0; i<n; i++)
   {
      int correctIndex = n*v[i];
      buckets[correctIndex].push_back(v[i]);
   }

for (int i=0; i<n; i++)
   {
      sort(buckets[i].begin(), buckets[i].end());
   }
   int index = 0;
   for (int i = 0; i < n; i++)
   {
       for (int j = 0; j < buckets[i].size(); j++)
         arr[index++] = b[i][j];
  }
}

标签: c++bucket-sort

解决方案


推荐阅读