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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Масив http://www.cyberforum.ru/cpp-beginners/thread191850.html
B заданной последовательности различных чисел a(1), a(2), … a (2n+1). Найти элемент a(m) такой, что множества L = {a(k): a(k) < a(m)} и H = {a(k): a(k) > a(m)} содержат по n элементов каждое.
C++ В чем причина ошибки? Код int main() { char arr; scanf("%s %s", &arr, &arr); printf("%s\n\n", arr); http://www.cyberforum.ru/cpp-beginners/thread191835.html
C++ Семестровая задаача 2
нужно решить большое уравнение с матрицами M = (y* A-A*B)*(B+x)-A*y*x найти М A и B - квадратные матрицы размерности больше 2(т.е перед исполнением задачи требуется указать размерность) их...
C++ Не получаетса сделать лаби по С++!!!
4. Зашифрувати текст, помінявши у бітовому представленні кожної букви 5-й та 6-й біти. 4. Створити функцію, що будь-яким методом впорядковує цілочисловий масив. Вхідні параметри – вказівник на...
C++ Работа со строками, удаление всех символов строки s1, встречающихся в s2 http://www.cyberforum.ru/cpp-beginners/thread191806.html
Тема уже была, так что сразу прошу извинить... Стоит задача: Написать программу, удаляющую символ в строке s1, который совпадает с любым символом строки s2. 1)с использованием функций...
C++ РАБОТА С ФАЙЛАМИ Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле. помогите пожалуйста:) подробнее

Показать сообщение отдельно
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219

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

15.11.2010, 22:50. Просмотров 522. Ответов 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 созданного направляем на текущий нод,
последняя строка непонятна вообще, кроме того непонятен общий смысл этих действий.

Помогите разобраться, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru