Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
15.11.2010, 22:50     однородный двухсвязный список #1
Задача - с помощью классов реализовать список объектов типа Circle (круг).
Структура
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include "circle.h"
class list
{
    class node{
        friend class list;
        node* pPrev; //указатель на предыдущий node
        node* pNext; //указатель на следующий node
        circle m_data; //данные
        node();
        node(node*pP, const circle* pc);//конструктор, посредством которого создаваемый Node «подключается» в список
        ~node();//деструктор должен «исключать» уничтожаемый Node из списка
    };
    node* pHead;    //указатель на фиктивный элемент, который является признаком начала списка
    node* pTail;    //указатель на фиктивный элемент, который является признаком конца списка
    unsigned int m_size;    //количество элементов в списке
public:
    list(void);
    ~list(void);
};

Проблема с конструктором, посредством которого создаваемый Node «подключается» в список
C++
1
2
3
4
5
6
7
list::node::node(node*pP,const circle* pc):m_data(pc)
{
    pPrev=pP;
    pNext=pP->pNext;
    pP->pNext=this;
    pNext->pPrev=this;
}
Не могу понять, что здесь в теле конструктора происходит
Предполагаю, что так:
pPrev текущего нода направляем на созданный,
pNext текущего нода направляем на pNext созданного,
pNext созданного направляем на текущий нод,
последняя строка непонятна вообще, кроме того непонятен общий смысл этих действий.

Помогите разобраться, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 22:50     однородный двухсвязный список
Посмотрите здесь:

C++ Двухсвязный Кольцевой Список
C++ символьный двухсвязный список
C++ Двухсвязный Список
Двухсвязный список и оператор [] C++
C++ перевернуть двухсвязный линейный список
двухсвязный список C++
C++ двухсвязный список
C++ двухсвязный список

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru