При сортировке вектора с использованием сортировки вставкой массив, который я передал в качестве аргумента, в результате не изменяется.
Я пробовал это раньше и не могу найти свою проблему, будет полезна помощь.
#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
using namespace std;
void insertionSort(vector<int> arr);
int main() {
vector<int> vec;
const int arrSize = 5;
for(int i = 0; i < arrSize; i++) {
vec.push_back(rand() % 10); // 3 6 7 5 3
}
for (auto i : vec) cout << i << endl; // 3 6 7 5 3
insertionSort(vec);
for (auto i : vec) cout << i << endl; // 3 6 7 5 3
}
void insertionSort(vector<int> arr) {
for(int i = 0; i < arr.size() - 1; i++) {
int j = i + 1;
while(j > 0 && arr[j - 1] > arr[j]) {
swap(arr[j - 1], arr[j]);
j--;
}
}
for (auto i : vec) cout << i << endl; // 3 3 5 6 7
}