С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
13 / 13 / 9
Регистрация: 23.10.2014
Сообщений: 184

Контейнеры Vector,List

27.03.2015, 19:01. Показов 1993. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в массиве списков переместить из первой ячейки все элементы которые делятся на 2 в другую ячейку?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2015, 19:01
Ответы с готовыми решениями:

Контейнеры Vector и List (C++)
Уважаемые форумчане! Помогите, пожалуйста, реализовать вручную классы Vector и List с основными их методами, дабы получить аналогию...

Контейнеры map и vector
Есть контейнер map, в нем хранятся символы и коды этих символов(в векторе, в 0 и 1) map<char, vector<bool> > table; Как...

Контейнеры list
Здравствуйте! Такой вопросик есть: Если у меня имеется такая штука list<int> *adj; - в классе this -> V=V; adj = new...

4
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
27.03.2015, 20:53
попробуйте
http://www.cplusplus.com/refer... m/copy_if/
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.03.2015, 22:07
Лучший ответ Сообщение было отмечено rockstarone как решение

Решение

Цитата Сообщение от rockstarone Посмотреть сообщение
Как в массиве списков переместить из первой ячейки все элементы которые делятся на 2 в другую ячейку?
Например так (не самое лучшее решение т.к. фактически можно за один проход):
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
32
33
34
35
36
37
38
39
#include <algorithm>
#include <iostream>
#include <string>
#include <list>
#include <vector>
 
void print(const std::vector<std::list<int>> &v)
{
    for (const auto &l : v)
    {
        for (const auto &word : l)
            std::cout << word << " ";
        std::cout << std::endl;
    }
}
 
void moveEvenElementsFromFirstToLast(std::vector<std::list<int>> &v)
{
    auto firstIt = v.begin();
    auto lastIt = v.rbegin();
    auto isEven = [](const int x) { return x % 2 == 0;};
    std::copy_if(firstIt->begin(), firstIt->end(), std::back_inserter(*lastIt), isEven);
    auto newEndPos = std::remove_if(firstIt->begin(), firstIt->end(), isEven);
    firstIt->erase(newEndPos, firstIt->end());
}
 
int main()
{
    std::vector<std::list<int>> vec = {
        {1, 2, 3, 4},
        {2, 5},
        {0},
        {7, 5}
    };
    print(vec);
    moveEvenElementsFromFirstToLast(vec);
    std::cout << "\nAfter:\n";
    print(vec);
}
1
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
27.03.2015, 22:10
Цитата Сообщение от MrGluck Посмотреть сообщение
v.begin()
тут же вылетить можно, если пустой
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
27.03.2015, 22:50
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
ут же вылетить можно, если пустой
Ну не совсем тут, скорее при его разыменовании в 22 строке.
Задача была не оградиться от всего опасного, а показать пример. Для заранее заданной последовательности не критично.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2015, 22:50
Помогаю со студенческими работами здесь

Контейнеры (функция, которая бы помогла отсортировать контейнер List)
составить булевскую функцию, которая бы помогла отсортировать контейнер List. контейнер содержит элементы типа string. я эту функцию...

Зачем нужны контейнеры stack, queue, list, если это всё можно заменить вектором?
В чём их преимущество? Оптимизация?

vector и list
1) Правильно ли я понимаю, что при расширении вектора все предыдущие указатели портятся? vector&lt;int&gt; a; a.push_back(10); int...

vector, list, deque
Пытаюсь разобраться, куда лучше какой контейнер применять, под какие задачи. Первый вопрос по списку: Сказано, что список удаляет любой...

Сортировка vector и list
Здравствуйте. vector&lt;int&gt; функцией STL медленнее сортируется, чем list&lt;int&gt; собственным методом. #include &lt;cstdlib&gt; #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru