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

Удаление значения из односвязного списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Извлечь число из строки http://www.cyberforum.ru/cpp-beginners/thread1251997.html
Добрый день. Есть строка, например, вида: field001600.bin Из нее нужно извлечь число 1600 (т.е. без ведущих нулей). Подскажите, как это делается на C++? На PHP это делается за 0.5 сек, например,...
C++ Как записать в файл студентов в порядке убывания среднего бала сдачи экзаменов #include<iostream> #include <stdio.h> #include <stdlib.h> #include<iomanip> #include<windows.h> using namespace std; struct stud { char lastname; http://www.cyberforum.ru/cpp-beginners/thread1251989.html
Как лучше изучать программирование? C++
Просто читать и конспектировать или на практике? И где брать легкие задачки по С++? Для начинающих.
Ввод кириллицы в консоли C++
Есть задание создать некоторую базу. Базу эту можно дописывать. Но возникает проблема ввода кириллицы с консоли. Пробовал это решить следующим методом: inline void rus_in (char*& buf) {...
C++ Обьяснить, допустим ли приведенный код http://www.cyberforum.ru/cpp-beginners/thread1251976.html
Я изучаю С++ по книге Язык программирования С++.Вводный курс. Так вот там задание: Обьяснить, допусти ли этот код? Если да, то почему? Если нет то почему? Я думаю, что не допустим, так как, этот...
C++ По окончанию компиляции консоль быстро появляется и исчезает Всем привет. Попал в политех и нужно срочно выучить с++. Вот код он работает. Но по окончанию компиляции консоль быстро появляется и исчезает, как сделать так, что бы консоль не пропадал и я мог... подробнее

Показать сообщение отдельно
Renji
1916 / 1314 / 298
Регистрация: 05.06.2014
Сообщений: 3,757
06.09.2014, 22:57
я вроде исправил, можете посмотреть если он первый, но не последний, так сойдет или надо тоже что-то поменять с указанием на следующий?
Вероятно, работать будет. Но при этом пробег по списку осуществляется дважды, что не айс. DelVal должно искать не элемент у которого id равен k, а элемент за которым следует элемент с id равный k. Тогда у вас будет сразу и указатель на искомый элемент, и на предшествующий.

И во избежание всего этого геморроя с проверками на "первый, не первый" лучше сделайте CStack потомком Elem и первым элементом списка. Так вы будете точно знать что 1) в списке есть хоть один элемент (заголовочный, он же CStack). 2) Удаляемый вами элемент - точно не является первым (первый элемент - CStack, а он сам себя не удаляет). 3) pNext в CStack равно pFirst, а значит сам pFirst можно выкинуть.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru