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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти наибольшее расстояние между точками http://www.cyberforum.ru/cpp-beginners/thread432284.html
Здравствуйте. Пользователь задает координаты нескольких точек, программа должна определить, между какими точками наибольшее расстояние. На экран вывести эти две точки. Вот, что пока накалякал. #include<stdio.h> #include<iostream.h> #include<conio.h> #include<math.h>
C++ Как кодираются дробные числа в пакетах? Пытаюсь снифером ловить пакеты и доставать из них данные. В частности несколько приходящих чисел интересует. Целые числа легко находятся, а вот дробные непонятно как искать. Например есть вот такой кусок хекса: 12 14 09 48 E1 7A 14 AE 77 60 40 10 11 1A 07 08 DC CC DE 3D 10 04 1A 14 09 8F C2 F5 28 5C 77 60 40 10 Здесь точно присутствуют числа 131.74 и 131.73 (предполагаю, что где то на местах,... http://www.cyberforum.ru/cpp-beginners/thread432277.html
C++ 2 задачи на С ++ и одна задача на С++ на oснoве MFC
Вот а помогите ещё три задачи решить) Вторую задачу не надо. а по четвёртой почти всё сделал но у меня прога не считает уравнение а сразу выдают ошибку если не правильно всё. void CMy1234556Dlg::OnButton1() { if (m_C<0)
C++ Максимальный элемент двумерного массива и его положение
Всем доброго времени суток. Помогите, пожалуйста, с задачей... Инициализировать массив n x n. n вводит пользователь. Найти максимальный элемент в массиве и его положение: номер строки, номер столбца. Собственно, вот мои наработки, но не знаю как определить положение... Заранее спасибо! #include <iostream> using namespace std; int main() {
C++ Помогите разобраться с кодом http://www.cyberforum.ru/cpp-beginners/thread432248.html
Код - проверка ввода данных. Если вводиться "x6x", то вызывается исключение, правильным вводом являются только символы, например: "xxx", исключение работает правильно и после вызова исключения и исправления ошибки программа продолжает работу, а вот если исключение не вызывается т.е с первого раза вводятся правильные данные "xxx" то программа заканчивается после окончания выполнения функции...
C++ Задачка Ребят, может кто срочно решить задачу? Описать структуры, описывающие шар и точку в 3-мерном пространстве. Определить функцию, которая проверяет, находится ли точка внутри заданного шара. подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.01.2012, 03:07     Удалить элемент из односвязного списка
ТатьянаR, сделай поле в каждом узле, которое показывает удалён элемент или нет

Добавлено через 3 минуты
Цитата Сообщение от go Посмотреть сообщение
Да, оно и есть. Можно еще через рекурсию, но я понял, что Вам необходимо
Вот (уже не делал этих проверок, принимаем за должное, что указатель валидный)
C++
1
2
3
4
5
6
7
8
9
10
11
12
void del_node(list_t& *node) { // Передаем указатель  предыдущего звена, на это
    list_t *t;
    if ( t = node->next ) {
        node->date = node->next->data; // Или все скопировать с помощью memcpy
        node = node->next->next;
        delete t;
    }
    else { // Если этот узел последний
        node = NULL;
        delete t;
    }
}
в чём смысл 4-ой строки ? узел удаляется
в пятой строке делает лишний переход
какой узел удаляется в 6-ой строке ? следующий за удаляемым ?
утечка памяти при удалении последнего узла
 
Текущее время: 11:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru