#include "pch.h"
#include <iostream>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
using namespace std;
vector<int> randomik(int ile)
{
vector<int> wynik;
srand(time(NULL));
for (int i = 0; i < ile; i++)
{
wynik.push_back(rand() % 10 + 1);
}
return wynik;
}
vector<int> babelki(vector<int> liczby)
{
for (int i = 0; i < liczby.size(); i++)
{
for (int i = 0; i < liczby.size()-1; i++)
{
if (liczby[i] < liczby[i + 1])
swap(liczby[i], liczby[i + 1]);
}
}
return liczby;
}
void read(vector<int>liczby)
{
for (int i = 0; i < liczby.size(); i++)
{
cout << liczby[i] << " ";
}
cout << endl;
}
vector <int> quicksort (vector<int> liczby, int l, int p)
{
int srodek = liczby[(l+p)/2];
int a = l;
int b = p;
do
{
while (liczby[a] < srodek) a++;
while (liczby[b] > srodek) b++;
if (a <= b)
{
swap(liczby[a], liczby[b]);
a++;
b--;
}
} while ((a <= b));
if (a < p) quicksort(liczby, a, p);
if (b > l) quicksort(liczby, b, l);
return liczby;
}
int main()
{
vector<int> liczby = randomik(10);
vector<int> wynik = babelki(liczby);
read(wynik);
vector<int> wynik1 =quicksort(liczby, 0, liczby.size()-1);
read(wynik1);
return 0;
}
Wyskakuje mi błąd w funkcji quicksort - Expression: vector subscript out of range i nie mam pojęcia co zrobić.