Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить среднее арифметическое положительных элементов каждого столбца матрицы https://www.cyberforum.ru/ cpp-beginners/ thread2582159.html
Здравствуйте! Задача: дан двухмерный массив 5х6. Определить среднее арифметическое положительных элементов каждого столбца. Спасибо заранее!)
Функция вычисляющая сумму двух векторов C++
Пусть функция sum (x,y,z) присваивает вектору z сумму векторов x и y (вектор – одномерный массив). Описать данную функцию и использовать ее для вычисления d = a + b + c Не понял суть задания,...
Поиск и сравнение в txt C++
Здравствуйте. Делаю программу для создание рандомных ключей. Первая программа генерирует ключ выводит мне его и записывает в txt(это я сделал), а вторая программа должна спросить у меня этот ключ,...
C++ Заполнить равнобедренный треугольник с основанием n и высотой (n+1)/2 Помогите нарисовать блок схему к заданию: заполните равнобедренный треугольник с основанием n, а высота (n+1)/2 (n не чётное). Треугольник должен смотреть в левую сторону https://www.cyberforum.ru/ cpp-beginners/ thread2582117.html
C++ Записать арккотангенс в с++ билдере https://www.cyberforum.ru/ cpp-beginners/ thread2582088.html
Помогите записать уравнение на синтаксисе с++. Никак не могу разобраться с арккотангенсом, нашел atan(x), но фотомаша дает другой результат
C++ Многоточие в объявлении шаблона
Что делает многоточие template<class.... T> -> ...
Машина Тьюринга C++
Нам дали вот такой вот код: #include <iostream> #include <conio.h> using namespace std; #define MAX 5 //maximal length of word struct Clock {
C++ Одна и таже перееменная в main() и в своей функции Всем доброго дня! Народ сдаюсь, 2 дня сижу а решения так не нашел! Есть строчная переменная ch, которой в функции - main() пользователь присваивает значение - "да" либо "нет". Вот код: cout... https://www.cyberforum.ru/ cpp-beginners/ thread2582053.html
C++ Необходимо поработать с массивами https://www.cyberforum.ru/ cpp-beginners/ thread2582042.html
Есть массив М с 19 целых чисел. Создать новый массив из элементов М, оторые попадут в диапазон между числами а и б. В новом массиве вывести повторяющиеся элементы и их порядковые номера в массиве М.
C++ Как приостановить процесс Здравствуйте, уважаемые участники форума! У меня задача такая, подскажите,пожалуйста, как можно с помощью С++ или через vbs, в принцапе подойдет и любой другой язык программирования, приостановить... https://www.cyberforum.ru/ cpp-beginners/ thread2582036.html
3979 / 2248 / 934
Регистрация: 07.02.2019
Сообщений: 5,896
10.02.2020, 18:28 0

Односвязный кольцевой список

10.02.2020, 18:28. Просмотров 403. Ответов 3
Метки (Все метки)

Ответ


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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
template<class T> class linked_ring
{
    struct node
    {
        T val;
        node* next;
    } *tail;
public:
    linked_ring() :tail(nullptr) {}
    linked_ring(const linked_ring&) = delete;
    linked_ring& operator=(const linked_ring&) = delete;
 
    void push_front(const T& val)
    {
        if (!tail)
        {
            tail = new node{ val };
            tail->next = tail;
        }
        else
            tail->next = new node{ val, tail->next };
    }
 
    void push_back(const T& val)
    {
        push_front(val);
        tail = tail->next;
    }
 
    void pop_front()
    {
        if (!tail) return;
        if (tail == tail->next)
        {
            delete[] tail;
            tail = nullptr;
            return;
        }
        node* to_del = tail->next;
        tail->next = to_del->next;
        delete[] to_del;
    }
 
    void pop_back()
    {
        node* current = tail->next;
        while (current->next != tail)
            current = current->next;
        tail = current;
        pop_front();
    }
 
    void clear()
    {
        while (tail) pop_front();
    }
 
    bool empty() const
    {
        return !tail;
    }
 
    ~linked_ring()
    {
        clear();
    }
 
    void print()
    {
        if (!tail)
        {
            std::cout << "empty\n";
            return;
        }
        node* current = tail->next;
        while (current != tail)
        {
            std::cout << current->val << ' ';
            current = current->next;
        }
        std::cout << tail->val << std::endl;
    }
};


Вернуться к обсуждению:
Односвязный кольцевой список
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2020, 18:28
Готовые ответы и решения:

Односвязный кольцевой список
Односвязный кольцевой список. в качестве аргумента передается значение value. Если оно есть в...

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

Кольцевой односвязный список
Есть список программа удаляет добавляет редактирует сортирует есть поиск но если сначала добавить...

Кольцевой односвязный список
Здравствуйте! Работаю с кольцевым односвязным списком на C++ Насколько я понимаю, удаляемый...

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