|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.08.2014, 20:06 | #1 |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Линейный односвязанный список
Всем привет. Объясните мне строчку кода, что она означает?!
Функция удаления элемента из списка Код:
помог - жми на весы
Последний раз редактировалось Chainik!; 17.08.2014 в 20:09. |
17.08.2014, 20:35 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Лично я считаю код глупым, и не понимаю почему бы не написать проще: Код:
I'm learning to live...
|
|
17.08.2014, 20:38 | #3 |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Так нельзя писать. Потому что элемент будет висеть в памяти, в результате этого мы получим утечку памяти.
помог - жми на весы
Последний раз редактировалось Chainik!; 17.08.2014 в 20:45. |
17.08.2014, 20:41 | #4 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
|
|
17.08.2014, 20:45 | #5 |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Протестировал этот код, и заметил что он даже удаляет 1 и 4 элемент, то есть крайние элементы.
Возникает вопрос: как он может удалять первый элемент, если он крайний? То есть перед первым элементом ничего нет, как в цикле мы пробегаем до него?? Код:
помог - жми на весы
Последний раз редактировалось Stilet; 17.08.2014 в 22:24. |
17.08.2014, 21:05 | #6 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Видимо free или delete надо вызвать для удаляемого элемента (я не знаю что именно).
Как по мне, вы привели просто кусок нежизнеспособного говнокода. Какую задачу вы вообще пытаетесь этим решить? На 100% уверен, что если вызвать эту функцию для списка из одного элемента программа сломается. так быть не должно. |
17.08.2014, 21:12 | #7 |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Код:
помог - жми на весы
Последний раз редактировалось Chainik!; 18.08.2014 в 00:43. |
17.08.2014, 21:17 | #8 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Напиши какую задачу ты решаешь.
Есть забавные книжки по чистому коду, я тебе прописываю прочитать книгу Мартина, хотя бы по диагонали. Одна функция должна решать одну задачу. Функция удаления должна удалять элемент (видимо заданный указателем или индексом). Другая функция должна проверять корректность данных введенных юзером. Нафига сливать все в кучу? - даже без Мартина понятно что так делать нельзя. |
17.08.2014, 21:23 | #9 |
Форумчанин
Регистрация: 10.11.2008
Сообщений: 120
|
Создаю односвязанный список
Так как правильно удалить элемент? Изначальный код предоставленный мною был верный?
помог - жми на весы
Последний раз редактировалось Stilet; 17.08.2014 в 22:27. |
17.08.2014, 22:28 | #10 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
http://www.programmersforum.ru/showp...8&postcount=25 Там есть пример удаления. Цитата:
I'm learning to live...
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
линейный список | vlad32651 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 11.12.2013 13:25 |
Линейный список. | GripEnemy | Visual C++ | 0 | 05.12.2011 22:35 |
линейный список | Nelson1992 | Помощь студентам | 1 | 26.11.2011 01:40 |
Линейный список | doter | Общие вопросы C/C++ | 1 | 20.02.2011 21:36 |
Линейный список | Black_Ak24 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 04.01.2008 15:00 |