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

Функция удаления из списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ определение функции за пределами шаблона класса http://www.cyberforum.ru/cpp-beginners/thread760532.html
не могу определить функцию за пределами класса, не компилится подсобите советом template< typename TData > class Owner { public: class Holder { public:
C++ Пример перегрузки конструктора Приведите простой пример пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread760507.html
Вычислить минимальный по модулю элемент массива C++
Выполнить следующее задание, оформив каждый пункт в виде функции. Все необходимые дан-ные для функций должны передаваться им в качестве параметров. Использование глобальных пе-ременных в функциях не допускается. При написании программ можно использовать как динамические, так и нединамические массивы. Размерность последних задаётся именованной константой. Для заполнения массивов используйте...
Вычислить произведение элементов одномерного массива C++
Используя рекурсивные функции Вычислить произведение элементов одномерного массива.
C++ Проверка на ввод числа http://www.cyberforum.ru/cpp-beginners/thread760489.html
do { cin.clear(); cin.sync(); cout << "Введите N: "; cin>>N; if(cin.fail()) cout<<"Неверный формат!\n"; else if ( N <= 0 ) cout << "N должно быть больше нуля!\n";
C++ Класс Temperatura Создать класс Temperatura. Определить операции ">", "<","==". Создать 5 экземпляров класса с разными значениями температуры. Написать функцию поиска максимального значения. Функцию поиска минимального значения. Написать функцию сортировки массива экземпляров класса Temperatura (Temperatura t). подробнее

Показать сообщение отдельно
Igor3D
847 / 433 / 37
Регистрация: 01.10.2012
Сообщений: 2,172
13.01.2013, 19:29     Функция удаления из списка
Если поддерживаете prev (двусвязный список) то корректируйте его при вставке нода
Заведите член tail, незачем пробегать каждый раз в конец
Ну и вообще как-то рыхло, создание/удаление нодов здесь не к месту, т.к. часто надо перебрасывать из одного списка в другой. Я бы делал примерно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template <class Node>
class CLinkedList{
    Node *mHead, *mTail;
public:
    CLinkedList( void );
    void Add2Head( Node * );
    void Add2Tail( Node * );
    void InsBefore( Node * node, Node * before );
    void Unlink( Node *);
    Node * LookupByValue( int val ):
    bool Lookup( const Node * ) const:
    size_t Count( void ) const;
};
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru