копирование односвязного списка

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
tiger()
Сообщения: 4
Зарегистрирован: 01 май 2011, 08:58

здравствуйте!

в классе содержится односвязный список. соответственно пишу для него оператор присваивания.
подскажите, как можно скопировать односвязный список? я окончательно запутался в индексах и указателях... возможно, есть какой-то отработанный "красивый" алгоритм?

узел такой:

Код: Выделить всё

struct node
{
    double item;
    node* next;

    node(double x, node* y)
    {
        item=x;
        next=y;
    }
};

typedef node* link;
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Не никакого "красивого отработанного" алгоритм. Алгоритм прост до безобразия. Бежим по исходному списку, создаём новый элемент и линкуем его в конец нового списка. В чём там путаться - не понимаю.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить