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

Что принимает какие значения? - C++

Восстановить пароль Регистрация
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
25.07.2013, 14:30     Что принимает какие значения? #1
C++
1
2
3
pNew->pPrev=pLast
pNew->pNext=NULL
pFirst=pFirst->pNext
помогите разобратся пожайлуста, что принимает какие значения, а то я что-то не совсем понял с этими стрелочками когда их надо ставить, к примеру первая строчка, это New записываем в Prev и делаем его Last или как? или третья строка тоже несовсем понятна, подскажите пожайлуста
или вот
C++
1
pNew->val=val
что куда переходить или как тут вопще?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
25.07.2013, 14:45     Что принимает какие значения? #2
Чтобы обратиться к членам объекта через указатель на объект, необходим селектор pointer->member, эквивалентно (*pointer).member
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
25.07.2013, 14:50  [ТС]     Что принимает какие значения? #3
несовсем понял ответа, тоесть я правильно написал?
Цитата Сообщение от итернал Посмотреть сообщение
это New записываем в Prev и делаем его Last
или нет? а как когда в таких случаях


Цитата Сообщение от итернал Посмотреть сообщение
pFirst=pFirst->pNext
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2013, 15:20     Что принимает какие значения? #4
Цитата Сообщение от итернал Посмотреть сообщение
pFirst=pFirst->pNext
Указатель pFirst указывает на первый узел. В этом узле есть адрес pNext (адрес второго (следующего) узала в списке). После присвоения этого адреса указателю pFirst, он будет указывать на второй(следующий) узел в списке.

Добавлено через 8 минут
C++
1
2
3
pNew->pPrev=pLast
pNew->pNext=NULL
pFirst=pFirst->pNext
pLast указывает на последний узел списка. При добавлении нового узла (pNew - указатель на него), в поле pPrev этого узала помещается адрес предыдущего последнего узла, который содержится в pLast. В поле pNext нового узла помещается NULL.
Зачем там дальше pFirst=pFirst->pNext непнятно, нужно больше кода.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
25.07.2013, 15:21  [ТС]     Что принимает какие значения? #5
Цитата Сообщение от итернал Посмотреть сообщение
pNew->pPrev=pLast
а это я правильно описал? или нет?
Цитата Сообщение от итернал Посмотреть сообщение
New записываем в Prev и делаем его Last
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
25.07.2013, 15:25     Что принимает какие значения? #6
pNew указывает на какой-то объект. Используя pNew->pPrev = pLast , Вы обращаетесь к члену pPrev объекта, на который указывает pNew и этому члену (pPrev) Вы присваиваете значение pLast.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2013, 15:29     Что принимает какие значения? #7
C++
1
2
3
pNew->pPrev=pLast
pNew->pNext=NULL
pLast = pNew; // делаем новый узел последним
Добавлено через 2 минуты
pFirst нужно трогать только при добавлении первого узла в список.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
25.07.2013, 15:36  [ТС]     Что принимает какие значения? #8
Цитата Сообщение от alsav22 Посмотреть сообщение
нужно больше кода
это не целый код, это просто выборки тех строк какие мне непонятны, ну или те которые хочу разобратся
тогда тут
Цитата Сообщение от итернал Посмотреть сообщение
pNew->val=val
тоесть тут я присваиваю значению val на который указывает pNew значение val которое туда передал или опять не так понял
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2013, 15:42     Что принимает какие значения? #9
Добавление нового узла в двунаправленный список:
C++
1
2
3
4
5
pNew ->pNext = NULL;
pNew ->pPrev = NULL;
if (pFirst == NULL) pLast = pFirst = pNew; // если новый узел перыый в списке
else pNew ->pPrev = pLast
pLast = pNew; // делаем новый узел последним
Добавлено через 3 минуты
Цитата Сообщение от итернал Посмотреть сообщение
тоесть тут я присваиваю значению val на который указывает pNew значение val которое туда передал
Полю val узла, на который указывает pNew, присваивается значение val.
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
25.07.2013, 16:00  [ТС]     Что принимает какие значения? #10
Цитата Сообщение от alsav22 Посмотреть сообщение
pLast = pFirst = pNew
а да сразу не увидел это строчку, хотел спросить как тут?
просто по очереди? последний равен первому и равен новому или нет?
у меня просто эта запись зделана так
C++
1
pFirst=pLast=pNew
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 16:02     Что принимает какие значения?
Еще ссылки по теме:

Программа не принимает больше одного значения, хотя должна C++
C++ Макрос, который принимает два значения (a, b) и возвращает строку "ab"
При вводе действительного Е не принимает значения типа float C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2013, 16:02     Что принимает какие значения? #11
Цитата Сообщение от итернал Посмотреть сообщение
у меня просто эта запись зделана так
Без разницы, у всех одно значение. pFirs, pLas и pNew указывают на новый (единственный) узел в списке.
Yandex
Объявления
25.07.2013, 16:02     Что принимает какие значения?
Ответ Создать тему
Опции темы

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