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

Реализация ф-ции удаления элемента из списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кошелек. Нужно дописать метод который бы позволял юзеру http://www.cyberforum.ru/cpp-beginners/thread1755264.html
в выбранном им кошельке в ручном режиме изменить количество купюр с пересчетом общего количества денег. Вот то что есть. Код: #include <iostream> #include <Windows.h> #include <ctime> #include <fstream> #include <vector> #include <string> #include <conio.h> #define n 20
C++ Builtin функции Погружение в сабж. Компилятор gcc. Имеет ли смысл вообще их изучать, какие из них действительно надо знать, ибо полезные? И вообще, как можно относиться к их использованию в коде? http://www.cyberforum.ru/cpp-beginners/thread1755256.html
C++ Даны три случайных однозначных числа. Вывести на экран квадраты нечетных чисел. Использовать подпрограмму, опр
Даны три случайных однозначных числа. Вывести на экран квадраты нечетных чисел. Использовать подпрограмму, определяющую нечетность числа.
C++ Очистка памяти при завершении работы функции, как правильно возвращать значения?
Я вывел для себя 2 способа возвращать значения работы функции string Add(string a1, string a2) { string returnStr; returnStr += a1 + "\n"; returnStr += a2 + "\n"; return returnStr; }
C++ Строки в С++ http://www.cyberforum.ru/cpp-beginners/thread1755229.html
Помогите пожалуйста решить эту задачу: дан текст. Найти все слова, содержащие букву а. Если можно написать простую программу , что-то похожее на эту, которую я написал для подсчета слов. #include "stdafx.h" #include <iostream> #include <cstring> using namespace std; void main() { char s; cout<<"Tekst: "; gets(s);
C++ Построение Эллипса Построить Эллипс в среде программирования C++ с эксцентриситетом 3.14 и что бы фокус эллипса совпадал с началом координат. подробнее

Показать сообщение отдельно
Vort_
 Аватар для Vort_
186 / 186 / 52
Регистрация: 10.07.2012
Сообщений: 400
05.06.2016, 18:17     Реализация ф-ции удаления элемента из списка
Давно не работал со списками. Но попробую.
Вот мой вариант функции удаления:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void infolist <type>::burner(int k)
{
    info <type>* prev = NULL;
    info <type>* current = first;
    while (current != NULL)
    {
        if (current->data.id == k)
        {
            if (prev != NULL)
                prev->next = current->next;
            else
                first = current->next;
            delete current;
            return;
        }
        prev = current;
        current = current->next;
    }
}
Первый параметр я убрал, так как он не нужен.

Ещё хочу отметить, что сохранение в файл работает неверно.
При сохранении надо перебирать все элементы так же, как и при выводе на экран.
 
Текущее время: 05:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru