Форум программистов, компьютерный форум, киберфорум
Наши страницы

Лаба №1 (МИЭТ, ООП). Динамические списки

Войти
Регистрация
Восстановить пароль
Оценить эту запись

Лаба №1 (МИЭТ, ООП). Динамические списки

Запись от Fon Eberkopff размещена 27.09.2017 в 17:36

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
40
41
42
43
44
45
46
47
48
49
50
51
/****************************************************************************
 * Лабораторная работа №1 Динамические односвязные списки
 * ------------------------------------------------------
 * Описать функцию, которая удаляет из списка за каждым вхождением элемента Е,
 * значение которого введено с клавиатуры, один элемент, если такой есть и он
 * отличен от Е
 * ------------------------------------------------------------
 * При помощи возможностей STL (например, того же шаблона list).
 ***************************************************************************/
 
#include <iostream>
#include <list>
#include <iterator>
 
using namespace std;
 
void removeAfterE( int, list<int>& );
 
int main()
{
    list<int> l{2, 5, 8, 4, 3, 5, 9};
 
    for (auto &i : l) cout << i << '\t';
    cout << endl;
 
    int elementE;
    cout << "enter number: "; cin >> elementE;
 
    removeAfterE( elementE, l );
 
    for (auto &i : l) cout << i << '\t';
    cout<< endl;
 
    return 0;
}
 
 
void removeAfterE(int element , list<int> &l)
{
    list<int>::const_iterator it{ l.begin() };
    int pastValue{-1};
 
    do
    {
        pastValue = *it++;
 
        if (pastValue == element && *it != element)
                it = l.erase(it);
    }
    while (it != l.end());
}
Размещено в Лабы по ООП в МИЭТ
Просмотров 398 Комментарии 0
Всего комментариев 0

Комментарии

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