Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 28.02.2017
Сообщений: 24
1

Создать линейный односвязный (двухсвязный) список

28.02.2017, 18:51. Показов 2563. Ответов 1

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу:
Создать линейный односвязный (двухсвязный) список. Из списка удалить последнюю пару соседних элементов, сумма которых меньше заданной величины, а затем вставить заданное число перед минимальным элементом списка и после него. Освободить память, занимаемую элементами списка.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2017, 18:51
Ответы с готовыми решениями:

Создать линейный односвязный и двухсвязный список
Нужна помощь,задание: Создать линейный односвязный список.Из списка удалить элемент стоящий перед...

Создать односвязный линейный список
Доброго времени суток! Помогите пожалуйста с кодом программы: Нужно создать односвязный линейный...

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

Создать односвязный кольцевой линейный список элементы которого целые числа
Создать односвязный кольцевой линейный список элементы которого целые числа. Удалить каждый 3...

1
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
28.02.2017, 19:33 2
Лучший ответ Сообщение было отмечено adnnin как решение

Решение

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
#include <iostream>
#include <iterator>
#include <list>
 
using std::cout;
using std::cin;
using std::endl;
 
 
int main()
{
    int limiter = 5;
    std::list<int> values = { 1, 99, 2, 56, 1, 2, 3, 4 };
 
    auto it = ++values.rbegin();
    auto previt = values.rbegin();
    for(; it != values.rend(); ++it, ++previt) {
        if(*it + *previt < limiter) {
            values.erase(std::next(it).base());
            values.erase(std::next(previt).base());
            break;
        }
    }
 
    for(int val : values) {
        cout << val << " ";
    }
    cout << endl;
 
 
    return 0;
}
Добавлено через 5 минут
Забыл про:
Цитата Сообщение от adnnin Посмотреть сообщение
а затем вставить заданное число перед минимальным элементом списка и после него
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
#include <iostream>
#include <iterator>
#include <list>
#include <algorithm>
 
using std::cout;
using std::cin;
using std::endl;
 
 
int main()
{
    int limiter = 5;
    std::list<int> values = { 1, 99, 2, 56, 1, 2, 3, 4 };
 
    auto it = ++values.rbegin();
    auto previt = values.rbegin();
    for(; it != values.rend(); ++it, ++previt) {
        if(*it + *previt < limiter) {
            values.erase(std::next(it).base());
            values.erase(std::next(previt).base());
            break;
        }
    }
 
    for(int val : values) {
        cout << val << " ";
    }
    cout << endl;
 
    auto minit = std::min_element(values.begin(), values.end());
 
    cout << "min value = " << *minit << endl;
 
    int value = -100;
 
    values.insert(minit, value);
    minit++;
    values.insert(minit, value);
 
 
    for(int val : values) {
        cout << val << " ";
    }
    cout << endl;
 
 
    return 0;
}
1
28.02.2017, 19:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2017, 19:33
Помогаю со студенческими работами здесь

Создать односвязный линейный список, элементами которого являются случайные натуральные числа
Создать односвязный линейный список, элементами которого являются случайные натуральные числа....

перевернуть двухсвязный линейный список
Здравствуйте скиньте кто нибудь код перевората двухсвзнакого линейного списка, меняя только...

Создать линейный односвязный список из вещественных чисел. Удалить из списка элемент перед каждым элементом со значен
Создать линейный односвязный список из вещественных чисел. Удалить из списка элемент перед каждым...

Односвязный линейный список (Описать тип данных, который отвечает такому представлению многочленов, и создать логическую функцию)
Многочлен P(x)=anxn+an-1xn-1+...+a1x+a0 можно представить в виде списка . Если аi=0, то...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru