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

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

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

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

15.11.2010, 22:50. Просмотров 511. Ответов 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++
У меня ошибку выдает, а какую я не знаю, просто вылетает сразу после того как ввела список элементов( в чем ошибка? //Дан список из n...

двухсвязный список - C++
#include "stdafx.h" #include <iostream> #include <locale.h> #include <string> using namespace std; struct List { List...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2010, 22:50
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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