Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2012, 05:18   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию c++ односвязный список

Здравствуйте уважаемые форумчанины!
Возник такой вопрос

Я создал односвязный список
Код:
struct item
{
	long info;
	item *next;
};
Есть класс, в котором определены следующие поля:
Код:
       item * pHead;
       item * pPrev;
Заполняю список так:
Код:
   item *temp = new item;
    if(pHead == NULL)
        pHead = temp;
    else
        pPrev->next = temp;
    temp->info = data;
    temp->next = NULL;
    pPrev = temp;
Вывожу на печать так
Код:
    item *pTemp = pHead;
    while(pTemp != NULL)
    {
        cout << pTemp->info << " ";
        pTemp = pTemp->next;
    }
Проблема в том, что последний элемент не выводится на печать. pTemp == NULL, хотя в pPrev адрес и данные существуют....
Не могли бы вы мне подсказать как это исправить?
Заранее спасибо....
world12_tk вне форума Ответить с цитированием
Старый 09.01.2012, 08:05   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

И правильно, что не выводится так-как используется предпроверка.
Цитата:
item *pTemp = pHead;
do
{
cout << pTemp->info << " ";
pTemp = pTemp->next;
}
while(pTemp != NULL)
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 09.01.2012, 08:22   #3
ERAGORN
Пользователь
 
Аватар для ERAGORN
 
Регистрация: 02.01.2012
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
И правильно, что не выводится так-как используется предпроверка.
А если pHead изначально равняется NULL?

Последний раз редактировалось ERAGORN; 09.01.2012 в 08:26.
ERAGORN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Односвязный список.??? Дмитрий_Попов Общие вопросы C/C++ 0 14.12.2011 21:10
Необходимо реализовать классы, односвязный список для хранения целых чисел, односвязный список для хранен lineico Помощь студентам 2 09.05.2011 17:45
односвязный список melkaya19 Помощь студентам 5 21.06.2010 12:36
C++. Односвязный список. Уничтожить список Olya90 Помощь студентам 2 10.06.2009 18:52