Почему векторная функция не вставляется из указанного диапазона [закрыто]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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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