Так что я считаю, что у меня есть метод quicksort, построенный правильно, но когда я вызываю его в своей основной функции, у меня возникает ошибка, в которой я не понимаю, что делать. Вот мой метод быстрой сортировки:Вызов для ошибки quickSort C++
void quickSort(vector<int> & a, int left, int right) {
if (left + 10 <= right) {
const int & pivot = median3(a, left, right);
int i = left, j = right -1;
for (; ;){
while(a [++i] < pivot){}
while(pivot < a[--j]){}
if(i < j)
swap(a[i], a[j]);
else
break;
}
swap(a[i], a[right-1]);
quickSort(a,left,i-1);
quickSort(a,i+1,right);
}
}
А вот моя главная функция
int main() {
srand (time(NULL));
vector<vector<int> > vectorList;
for (unsigned int j = 0; j < 8; j++) {
vector<int> tmp(100*pow(2,j));
for (unsigned int l = 0; l<tmp.size(); l++)
tmp[l] = (rand() % 20000);
vectorList.push_back(tmp);
}
for (unsigned int y = 0; y != vectorList[0].size(); y++){
cout << vectorList[0][y] << endl;
}
cout << vectorList[0].size() << endl;
cout << quickSort(vectorList[0], 0, vectorList[0].size()-1) << endl;
return 0;
}
Я делаю вызов для быстрой сортировки на второй линии от дна, и я получаю ошибку говоря: no match for 'operator<<' in std::cout << quickSort((* & vectorList.std""vector<blahblahblah
'quickSort' возвращает' void' (то есть ничего вообще). Что вы ожидаете от этой линии? – Sneftel
Я вижу это сейчас, но зачем мне это нужно? Я решил отсортировать первый вектор в векторе, который был бы quicksort (vectorList [0] [0], но это, похоже, не так – BondyeLwa