私はこのコードをコンパイルしようとしていますが、パーティション機能が動作しないように見えます。どうやらそれは配列と関係があるが、それが何であるかわからない。パーティションがコンパイルされていないクイックソート
編集:元のパーティション機能ではなく、std :: partitionを使用しています。
#include <ctime>
#include <string>
#include <algorithm>
#include <array>
#include <iostream>
using namespace std;
const int MAX_SIZE = 10000;
const int MIN_SIZE = 10;
ここでクイックソートだ:
//quick sort
void quickSort(int arr[], int first, int last, int size)
{
if(last - first + 1< MIN_SIZE)
{
insertionSort(arr,size);
}
else
{
int pivotIndex = partition(arr, first, last);
quickSort(arr, first, pivotIndex-1,size);
quickSort(arr, pivotIndex+1,last,size);
}
}
ここでエラーがあります:これをクリアすることができます誰にでも
error: no matching function for call to 'partition(int*&, int&, int&)'
感謝。パーティション機能を除くすべてが正常に動作しているようです。
コンパイラエラーは配列に関するものではありません。それは 'partition'関数そのものです。呼び出されていなくても、コンパイラはあなたが呼び出しようとしている関数を理解できません。 – iehrlich