Почему векторная функция не вставляется из указанного диапазона [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Почему векторная функция не вставляется из указанного диапазона [закрыто]

Сообщение Anonymous »

Я пытаюсь вставить элементы из массива в себя, но переменные вставляются случайным образом. Почему она не работает должным образом?
Функция вставляет неправильные места в двух найденных мной экземплярах.
когда оба итератора указывают на тот же элемент
входной массив массив после вставки

Код: Выделить всё

[2,1,2,3]
ожидаемое поведение

Код: Выделить всё

[3,1,2,3]
один раз, когда элементы охватывают два элемента
входной массив

Код: Выделить всё

[1,2,3,4,5,6]
массив после вставки

Код: Выделить всё

[3,4,1,2,3,4,5,6]
ожидаемое поведение

Код: Выделить всё

[5,6,1,2,3,4,5,6]
вот весь код

Код: Выделить всё

class Solution {
public:
void rotate(vector& nums, int k) {
k= k % nums.size();
// if(k==1) nums.insert(nums.begin(),nums.back());
nums.insert(nums.begin(), nums.end()-k, nums.end());
for (auto c:nums) cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/77975881/why-is-vector-function-not-inserting-from-the-specified-range[/url]

Вернуться в «C++»