Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 16 июн 2025, 19:44

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 24 сен 2017, 19:16 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
Можно ли при добавлении элемента в конец списка обойтись без его перебора кажый раз? Может какую-то переменную выделить, которая бы всегда ссылалась на конец списка и обновлять эту ссылку при каждом дополнении... Это возможно?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 24 сен 2017, 19:44 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Я когда-то делал такой двусвязный список: там каждый элемент списка имел поля prev и next, ссылающиеся на предыдущий и следующий элемент (если prev=NIL, значит это первый элемент списка; если next=NIL, значит последний). Кроме того, были переменные first и last — указатели на первый и последний элемент списка. Самое главное — корректно обновлять их после каждого добавления/удаления элементов. А Вы в своей задаче можете использовать односвязный список, если, например, не нужно пробегать от последнего элемента к первому.
Код: "OBERON"
  1. TYPE
  2. Task = POINTER TO RECORD
  3. prevTask: Task;
  4. nextTask: Task;
  5. ...
  6. END;
  7. VAR
  8. firstTask, lastTask: Task;


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club