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

двусвязной список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ написать прогу http://www.cyberforum.ru/cpp-beginners/thread929632.html
что же это Добавлено через 35 секунд Фух. 50 минут создавал. вот
C++ Подтормаживающий рандом Сделал простую змейку. #include <iostream> #include <Windows.h> #include <cstdlib> #include <ctime> #include <conio.h> enum napr {up = 2, left, right, down}; napr headN = right; napr hvostN =... http://www.cyberforum.ru/cpp-beginners/thread929630.html
Шаблонные классы. Присвоение к указателю и приведение типов C++
Добрый вечер, ув. форум, есть к вам вопрос. Есть род. абстрактный класс: ParentAbstact Есть два наследника: ChildOne : public ParentAbstact и ChildTwo : public ParentAbstact Есть шаблонный класс:...
C++ dll
1. Можно ли использовать DLL, созданную на одном языке программирования в программе на другом языке? 2. Я так понял, DLL работает только под Windows. Есть ли возможность сделать библиотеку функций,...
C++ Шаблоны и параметр по умолчанию http://www.cyberforum.ru/cpp-beginners/thread929600.html
Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include <iostream> #include <vector> #include <cstdlib> template<class T> bool DefaultComparand(const T &, const T &); ...
C++ Указатель вне корректного диапазона void f(T a) { T v; T p* = &v; p--; *p = a; // тут p вне корректного диапазона, почему? } объясните этот момент плиз, я так понял, что когда мы дикрементируем указатель (p--), то т.к.... подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
27.07.2013, 21:35
а что сложного то?
допустим имеем
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class T>
class list
{
    //...
    struct item
    {
        T data;
        item *prev;
        item *next;
    };
    //...
};
вставляете в структуру item такие методы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        void insert_after(item *ins_node)
        {
            ins_node->prev = this;
            ins_node->next = this->next;
            this->next->prev = ins_node;
            this->next = ins_node;
        }
 
        void insert_before(item *ins_node)
        {
            ins_node->prev = this->prev;
            ins_node->next = this;
            this->prev->next = ins_node;
            this->prev = ins_node;
        }
и можете спокойно вставлять элементы после или до любого переданного в качестве параметра узла.
код не проверял
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru