IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Структуры со ссылками на себя, двусвязный список в Си
сообщение
Сообщение #1


Гость






Помогите пожалуйста разобраться с задачей: " Дан указатель PC на один из элементов непустого двусвязного списка. Переместить данный элемент в начало списка и вывести указатели Р1 и Р2 на начало и конец преобразованного списка. Операции выделения и освобождения памяти не использовать, поля data не изменять. "
как заполнить элементами структуру без выделения им памяти
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
как заполнить элементами структуру без выделения им памяти
Речь в задании не об этом. А о том, что тебе нужно от заданного указателя пробежать к началу списка (чтобы получить указатель на его начало), и поменять указатели так, чтобы первый элемент списка и тот элемент, на который указывал PC "поменялись местами" (но при этом не менять поле data, а менять только значения указателей)...

Что-то вот такое (p - вспомогательная переменная, first - указатель на начало списка, pc - заданный тебе указатель):

p = first -> next;
first -> next = pc -> next;
if(pc->next) pc -> next -> prev = first;

if(pc -> prev) pc -> prev -> next = first;
first -> prev = pc -> prev;
pc -> prev - NULL;

p -> prev = pc;
(начерти схему, куда что указывает, и проследи, что получится в результате выполнения этого алгоритма)...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.09.2020 8:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name