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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
#1

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

15.11.2010, 22:50. Просмотров 504. Ответов 0
Метки нет (Все метки)

Задача - с помощью классов реализовать список объектов типа 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++
#include "stdafx.h" #include <iostream> #include <locale.h> #include <string> using namespace std; struct List { List...

двухсвязный список - C++
У меня ошибку выдает, а какую я не знаю, просто вылетает сразу после того как ввела список элементов( в чем ошибка? //Дан список из n...

Двухсвязный Кольцевой Список - C++
Дано вот такое задание:В двухсвязном кольцевом списке определить минимальный и максимальный элементы,а затем заменить их значения на сумму...

Двухсвязный список и оператор [] - C++
Здравствуйте! Очень нужна помощь, так как 4 часа поисков в интернете не дали конкретных результатов. Я в целях обучения/тренировки...

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

Добавление элементов в двухсвязный список - C++
Надо создать двухсвязный список и надо реализовать добавление и удаление элементов: в начале, в конце и в середине (например добавить...

Создать линейный односвязный (двухсвязный) список - C++
Помогите пожалуйста решить задачу: Создать линейный односвязный (двухсвязный) список. Из списка удалить последнюю пару соседних...

Двухсвязный список (разбиение кода на файлы) - C++
Есть стандартный код реализации шаблонного двухсвязного списка: #include <iostream> using namespace std; template <typename...

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

Двухсвязный список в классе, метод удаления - C++
Все доброго вечера! Очень слезно прошу указать мне на мою ошибку, ибо уже две недели пытаюсь понять эту тему...Исходные данные: класс, в...

Добавление и удаление- Линейный однородный список (ЛОС) - C++
Здравствуйте!Помогите написать методы добавления нового элемента в ЛОС и удаления из ЛОС.Очень хотелось бы разобраться ;) Если у кого-то...


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

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

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