Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
eksmaers
1 / 1 / 2
Регистрация: 19.09.2017
Сообщений: 42
1

Односвязный список: удалить элемент списка, если он чётный и следующий элемент отрицательный и нечётный

02.01.2019, 15:04. Просмотров 530. Ответов 1

Здравствуйте. Задание на односвязные списки: удалить элемент списка, если он чётный и следующий элемент отрицательный и нечётный(реализация с конца списка).
Результат должен быть таковым:
Исходный список: -1 2 -3 4 -5 6
После изменений: 2 4 6
Есть код, но в он удаляет нечётные отрицательные элементы:

C++
1
2
3
4
5
6
typedef struct element
{
element *next;
element *prev;    
int value;        
}node;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
element *tmp=head;
        while (tmp)
        {
                        if((tmp->next->value<0) && (tmp->next->value%2!=0))
                        {
                                element *prevdel=tmp->prev;
                                element *afterdel=tmp->next;
                                tmp=tmp->next;
                                delete tmp->prev;
                                prevdel->next=afterdel;
                                afterdel->prev=prevdel;
                        }
 
        tmp=tmp->next;
        }
Что поменять в коде, чтобы работало правильно?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2019, 15:04
Ответы с готовыми решениями:

Удалить из списка последний отрицательный элемент, если такой есть (линейные списки)
Помогите, пожалуйста. Нужно, написать программу, которая удаляет из списка последний отрицательный...

Создать линейный односвязный список из вещественных чисел. Удалить из списка элемент перед каждым элементом со значен
Создать линейный односвязный список из вещественных чисел. Удалить из списка элемент перед каждым...

Односвязный список добавить и удалить элемент
Удаление элемента происходит правильно а вот с добавлением чтото не то.....вроде вставляет в конец...

Односвязный список: удалить первый элемент
День добрый уважаемые знатоки, начал разбираться с реализацией односвязных списков, вроде бы все...

Односвязный список: удалить последний элемент равный 0
Удалить последний элемент однонаправленного списка равный 0.

1
FFPowerMan
303 / 208 / 89
Регистрация: 11.10.2018
Сообщений: 1,457
02.01.2019, 15:12 2
Односвязный список - а в первом коде двусвязный список.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2019, 15:12

Удалить первый чётный элемент массива
Задание:Удалить элемент с заданным номером. На примере этого: Удалить первый чётный элемент:...

Линейно-однонаправленный список (удалить элемент списка по ключу)
Нужна помощь с методом удаление,должен удалить элемент списка по ключу,поиск приведён. #include...

Если все элементы «двусвязного списка» отрицательны, то удалить элемент «стека»
помогите,пожалуйста... -Если все элементы «двусвязного списка» отрицательны, то удалить элемент...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.