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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2012, 19:41   #1
ShockTrooper
 
Регистрация: 26.02.2012
Сообщений: 9
По умолчанию переворот однонаправленного списка

Код:

class List_item{

	public:

	double num;
	List_item* next;

        //constructor with params:
   	       List_item(double value, List_item* item = NULL ){
      	       num = value;
      	       next = item;
        }
};

       void  reverse(){
		List_item* prev = NULL;
                List_item* item;
      	        while(begining){
         	        item = begining;
                        begining = begining -> next;
                        item->next = prev;
                        prev = item;
                }
                begining = prev;
       }
почему функция reverse() работает неправильно?
например, для списка 3 2 1, она выводит 1 2 1, т.е. первый элемент 3 в старом списке куда-то исчезает.
Заранее спасибо!

Последний раз редактировалось ShockTrooper; 28.10.2012 в 19:44.
ShockTrooper вне форума Ответить с цитированием
Старый 28.10.2012, 22:16   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Используй отладчик, Люк. На глаз вроде всё правильно.

Но код приведён, скажем мягко, не полностью. Если в списке был только один элемент со значением 1.0, то описанное Вами при корректной процедуре вывода содержимого списка невозможно: если за (1.0) следовало (2.0) и потом мы как-то вернулись к (1.0), то дальше список не может закончиться, он должен зациклиться.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программная реализация однонаправленного линейного списка Денис Ст Помощь студентам 2 14.01.2014 21:50
Заполнение связного однонаправленного списка с++ Chelovekpredel Помощь студентам 1 07.10.2012 16:39
структуры данных. проблема сортировки однонаправленного списка. s-mumrik Общие вопросы C/C++ 0 24.05.2012 15:46
удаление циклического однонаправленного списка.. Yakoot Visual C++ 9 18.06.2011 20:05
Реализация однонаправленного шаблонного связанного списка Blade Общие вопросы C/C++ 17 28.03.2009 19:59