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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexeYesterday
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 30
#1

Удаление элементов списка - C++

26.02.2014, 22:20. Просмотров 1035. Ответов 1
Метки нет (Все метки)

Есть двунаправленный список, функция которая при повторении двух подряд одинаково парных чисел суммирует их, записывает в один элемент а другой элемент удаляет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void SumDublicate(TSNum * &Start)
{if(Start==NULL || Start->next==NULL){return;}
 
TSNum *WP=Start, *PP=NULL, *dell=NULL;
 
while(WP->next!=NULL)
{
    PP=WP;
    WP=WP->next;
    if(PP->num%2==0 && WP->num%2==0)
    {dell=WP;
     PP->num=PP->num+WP->num;
     PP->next=WP->next;
    }
}
 
}
Проблема в том что не знаю как удалять dell, если поставить delete dell; перед условием тогда при многократном повторении данного оператора программа крашится.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2014, 22:20     Удаление элементов списка
Посмотрите здесь:

Удаление элементов из списка C++
C++ Удаление элементов из списка
C++ Удаление элементов из списка
Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением) C++
Удаление элементов из списка C++
Удаление элементов из списка C++
C++ Удаление элементов из списка
C++ Удаление элементов из списка
Удаление элементов из односвязного списка списка C++
Удаление элементов из связного списка C++
C++ Удаление элементов из списка
Удаление элементов из списка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
26.02.2014, 23:59     Удаление элементов списка #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
while(WP->next!=NULL)
{
    PP=WP;
    WP=WP->next;
    if(PP->num%2==0 && WP->num%2==0)
    {dell=WP;
     PP->num=PP->num+WP->num;
     PP->next=WP->next;
     WP = WP->next;
     delete dell;
    }
}
Yandex
Объявления
26.02.2014, 23:59     Удаление элементов списка
Ответ Создать тему
Опции темы

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