Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Zoudberg
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 56
1

Базовые модифицирующие алгоритмы. Итераторы вставки

12.06.2017, 07:23. Просмотров 212. Ответов 3
Метки нет (Все метки)

Господа помогите пожалуйста с сием заданием



Дано число K (0 < K < 5) и список L, содержащий
не менее 10 элементов. Набор из первых 5 элементов списка
скопировать в конец списка, выполнив для этой копии цик-
лический сдвиг на K позиций вправо, а набор из последних 5
элементов исходного списка скопировать в начало списка,
выполнив для этой копии циклический сдвиг на K позиций
влево. Использовать два вызова алгоритма rotate_copy и ите-
раторы вставки, а также функцию advance.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2017, 07:23
Ответы с готовыми решениями:

Алгоритм copy и итераторы вставки
Добрый день! Есть программа, она копирует заданный диапазон вектора и вставляет...

Найти элемент в контейнере priority_queue, используя STL вские итераторы и алгоритмы
Здравствуйте, задача описана в навание темы. Можно перебрать в цикле все...

Алгоритмы вставки и выбора в С++
Алгоритмы вставки и выбора в С++

Эффективные алгоритмы вставки и удаления элемента из массива
Необходимы два эти алгоритма. + Всем в карму

C++: итераторы по умолчанию, пустые итераторы, end()
Всем добра! Вопрос на тему итераторов в плюсах: 1. какие значения имеют...

3
Zoudberg
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 56
15.06.2017, 15:50  [ТС] 2
Правда помогите пожалуйста очень нужна эта задача везде примеры только с вектором
Нужно 5 элементов списка скопировать в конец используя rotate_copy

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
#include <iostream>     
#include <algorithm>
#include <list>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    list<int>List;
    int listSize = 0;
    cout << "Введите размер листа: ";
    cin >> listSize;
 
    cout << "Элементы листа: ";
    for (int i = 0; i < listSize; i++) {
        List.push_back(rand() % 9 - 3);
    }
    for (auto it = List.begin(); it != List.end(); ++it)
    {
        cout << *it << " ";
    }
 
    
    cout << endl;
 
    system("pause");
 
    return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8105 / 4956 / 1436
Регистрация: 29.11.2010
Сообщений: 13,451
15.06.2017, 15:57 3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <iostream>
#include <iterator>
 
int main()
{
    const int L[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}, K = 5;
    auto it = std::begin(L);
    std::advance(it, K);
    std::rotate_copy(std::begin(L), it, std::end(L), std::ostream_iterator<int>(std::cout, " "));
}
1
Zoudberg
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 56
15.06.2017, 17:26  [ТС] 4
Объясните пожалуйста еще вот этот момент. Если мы перемещаем элементы на K позиций то мы никак не сможем переместить их в конец списка, а нужно в конец. (Дано число K (0 < K < 5) и список L, содержащий не менее 10 элементов. Набор из первых 5 элементов списка скопировать в конец списка, выполнив для этой копии циклический сдвиг на K позиций вправо)
0
Миниатюры
Базовые модифицирующие алгоритмы. Итераторы вставки  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2017, 17:26

Итераторы и обратные итераторы
У вектора есть два типа итераторов, обычные и обратные итераторы произвольного...

Итераторы
Не могу въехать как работают итераторы, литература-форумы не помогли, увы. На...

Итераторы
Добрый день! Начал изучать классы в C++ параллельно с итераторами. Решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru