Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 21.04.2019
Сообщений: 71
1

Как удалить элемент перед заданным в кольцевом однонаправленном списке?

20.05.2019, 01:10. Просмотров 988. Ответов 1

есть метод, который описывает, как удалить элемент после заданного
надо переделать, чтобы он удалял элемент перед заданным (delbefore)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void list::delafter()
{
    element* q;
    if ((*last).next != (*head).next)
    {
        q = (*last).next;
        (*last).next = (*((*last).next)).next;
        delete q;
    }
    else  if ((*last).next == last)
    { 
        q = (*head).next; 
        (*head).next = NULL;
        delete q; 
        cout << "Кольцо пусто";
    }
    else
    {
        q = (*head).next;
        (*last).next = (*((*last).next)).next;
        (*head).next = (*last).next; 
        delete q;
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2019, 01:10
Ответы с готовыми решениями:

Как найти нужный элемент в уже заполненном однонаправленном списке?
//Нужно по введенному номеру телефона определить фамилию абонента. Почему вылетает? Смотрю в...

Удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с...

Определить, какой элемент останется в кольцевом списке последним, если по очереди удалять из списка каждый n-й элемент
Создать структуру с именем Subject с полями: фамилия, имя. Сформировать замкнутое кольцо...

Доработка структуры (удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером)
//--------------------------------------------------------------------------- ЗАДАНИЕ:Создать...

1
3572 / 2477 / 1061
Регистрация: 07.05.2019
Сообщений: 7,537
Записей в блоге: 1
20.05.2019, 09:30 2
Лучший ответ Сообщение было отмечено chermalina как решение

Решение

Цитата Сообщение от chermalina Посмотреть сообщение
есть метод, который описывает, как удалить элемент после заданного
надо переделать, чтобы он удалял элемент перед заданным (delbefore)
В таких списках удалять можно только элемент после заданного, по другому никак.
Т.е. пробегаешься по списку, ищешь элемент который впереди предыдущего (того, что нужно удалить) и удаляешь тот, что после после него (delafter).
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2019, 09:30

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Структура "Информация": - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить элемент перед элемент
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с...

Удалить строку с минимальной длиной в линейном однонаправленном списке
Помогите, пожалуйста. Создать линейный однонаправленный список строк. Удалить строку с минимальной...

Найти максимальный элемент в однонаправленном линейном списке
здравствуйте! помогите помочь написать задача или киньте ссылку по её решению. Си...

Наиболее часто встречающийся элемент в односвязном кольцевом списке
Здравствуйте! Как должна выглядеть функция поиска рейса, на котором больше всего пассажиров? ...


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

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

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