Когда вы обращаетесь к элементу в векторе, используя []
, вы можете получить ошибку сегмента.
Этот код,
vector <int> a;
дает пустой вектор.
Запрос a[0]
не будет работать, если в a
еще ничего нет.
Попытка установить значение a[0]
также не будет работать.
Не существует
Тем не менее.
У вас похожая проблема в mergeSort
при использовании
vector <int> l, r;
Это также пустые векторы.
Вы можете использовать push_back
(или даже emplace_back
) для добавления новых элементов.
Или используйте перегрузку конструктора , чтобы указать, сколько элементов вы хотите.
Например,
vector <int> a(10);
дает вам вектор из десяти целых, поэтому a[0]
прекрасно подходит для чтения или записи.
a[11]
нет.
Сначала попрактикуйтесь в использовании вектора, затем попробуйте сортировку слиянием.