Динамические структуры данных |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Динамические структуры данных |
kess |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 43 Пол: Женский Репутация: 0 |
Составить программу . которая переносит в конец непустого списка L эго первый элемент
|
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Теперь у тебя есть несколько (много) орехов, зарытых в ямки с записками. И тут ты вспоминаешь: первый орех был грецкий, а все остальные - обычные лесные.. И ты решаешь: грецкий орех надо оставить на закуску, то есть съесть последним. Но как это сделать? ведь он лежит в самой первой ямке!
Первая мысль: переложить все орехи по новой. Но это столько трудов... и делать нужно аккуратно.. Вторая мысль: переложить только первый и последний орехи. Но грецкий орех такой здоровенный, он едва влезает тебе в пасть - тащить его тяжело.. И вдруг тебя озаряет: надо переложить только записки! 1. Берешь самую первую записку (из спец.укромного места) - она указывает на ямку с грецким орехом - и кладешь ее пока в карман. 2. Берешь записку из первой ямки (с грецким орехом) - она указывает на вторую ямку - и кладешь ее в спец.укромное место. Теперь список начинается со второй ямки, а в бывшей первой ямке (с грецким орехом) записки нет совсем. 3. Проходишь по всему списку, находишь последнюю ямку (в ней нет записки) и кладешь туда записку из кармана, которая указывает на ямку с грецким орехом. Она была первой - стала последней (на нее указывает бывшая последняя ямка, которая теперь стала предпоследней). Записки в ней нет (см. п.2), что согласуется с признаком последней ямки. Все, перекладывание закончено. Мы перекладывали только указатели (записки), а не сами данные (орехи), что сэкономило нам силы и время. Это еще одно преимущество списков, не сразу заметное. Представь себе, что данные в элементе исчисляются мегабайтами, а также, что тебе надо отсортировать список (много перекладываний) - и поймешь.. Вот программа, которая реализует приведенный алгоритм: type Теперь тебе понятно, что такое списки?.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 26.04.2024 21:57 |