|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.04.2017, 01:37 | #1 |
Новичок
Джуниор
Регистрация: 24.04.2017
Сообщений: 1
|
Функция в односвязном списке
Здравствуйте. На СИ реализовал функцию "perenos", которая переставляет N элементов из начала односвязного списка в конец.
Представил как происходит связывание ссылок и описал их в функции "perenos", но по факту, она делает не то, что надо: если 2 ввожу, то ничего не происходит, если 3/4/5, то удаляет вроде столько последних эл-тов. За сутки не понял что не так. В чем ошибка, когда я связываю ссылки, помогите, пожалуйста? PHP код:
|
27.04.2017, 12:42 | #2 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
Опустите мне веки, что за стиль кода...
Во-первых, нигде не устанавливаются указатели на первый и последний элементы списка в структуре Headd, там мусор какой-то, недостаточно просто объявить структуру с полями first и last, это так не работает. Во-вторых, fpast=headd->first и lpast=headd->last не имеют типа HEAD *, скорее ITEM *. В-третьих, функция переноса в таком виде (если поправить указатели) переносит не A элементов, а A+1. Ну и вообще, код не очень. Хотя мне вот это понравилось Код:
Μολὼν λαβέ
|
27.04.2017, 13:15 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
исправить код в односвязном списке | svetik290895 | Помощь студентам | 0 | 13.05.2015 19:44 |
Удаление узлов в односвязном списке | Niklitel | Помощь студентам | 1 | 01.03.2014 14:41 |
Последовательный поиск в односвязном списке | vo0vka | Помощь студентам | 2 | 01.12.2012 23:49 |
Очистка памяти в односвязном списке | Sigwey | Помощь студентам | 0 | 28.12.2010 17:02 |
Поиск в односвязном списке | DOJ | Общие вопросы C/C++ | 6 | 04.10.2009 13:34 |