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

Двунаправленный кольцевой список (удаление узлов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить количество знаков препинания в тексте http://www.cyberforum.ru/cpp-beginners/thread863538.html
Дан текст. Определить, сколько символов знаков препинания в нем (точка, запятая, двоеточие, тире, и пр.).
C++ Определить количество букв в предложении Дано предложение. Определить, сколько раз встречается буква let в данном предложении (let задается с клавиатуры). http://www.cyberforum.ru/cpp-beginners/thread863536.html
Посчитать количество символов в слове C++
Дано название футбольной команды. Подсчитайте, сколько в нем символов.
Удаление списка C++
Программа добавляющая заявки на авиабилеты. Есть функции добавления и вывода всех заявок, помогите сделать удаление ВСЕХ заявок. //#include "stdafx.h" #include <cstdio> #include <conio.h> #include <clocale> #include <windows.h> #include <stdlib.h> #include <iostream>
C++ Слова с похожими буквами http://www.cyberforum.ru/cpp-beginners/thread863516.html
Как выводи слова, которые имеют разные буквы? То есть, допустим есть слова: афина, авто, ручка, мел. Как сделать так, чтобы алгоритм выводил слово, которое имеет уникальные буквы( в данном случае это - мел)?
C++ Ввод символов в массив Как ввести в массив 30 символов, которые будут вводить без пробелов и переносов строк, то есть строку вида: 123456789...n , нужно привести к виду: char mass mass={1}{2}{3}{4}{5}{6}{7}{8}{9}...{n} подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.05.2013, 16:29     Двунаправленный кольцевой список (удаление узлов)
Цитата Сообщение от MarVaL Посмотреть сообщение
Можешь написать, или поподробнее плз
Поподробнее от допустим у тебя есть указатель
List* next; на следущий элемент указывает
List* prev; указывает на предыдущий
List* tek; указывает на текущий элемент, где мы щас находимся.

Если next=0 то значит мы в конце списка, если prev = 0, то значит мы в начале списка.
Допустим мы находимся в элементе (узле) в котором next=0, а prev не равно 0, то есть список не пустой. Нам нужно удалить этот элемент в котором мы щас находимся делаем tek=prev; tek->next=0 и все мы как бы удалили (в списке его уже не будет), но нам еще нужно память высвободить для системы, поэтому мы предже чем tek=prev; делаем Link* del=tek;, то есть адрес сохраняем чтобы можно было сделать delete del; - высвободить память. Ну примерно так:
C++
1
2
3
4
Link* del=tek;
tek=tek->prev;
tek->next=0;
delete del;//высвобождение памяти.
Примерно так. Конкретно в твоем случае я не смотре, главное это принцип идея
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru