|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2011, 21:54 | #1 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 10
|
Сортировка списка. Указатели. (Delphi)
Добрый вечер.
Задали сделать программу по спискам с указателями. Задание: Даны натуральное число n, действительные числа a1,…, an. Если последовательность a1,…, an упорядочена по неубыванию (т. е. если a1<=a2<=…,<=an), то оставить ее без изменения. Иначе получить последовательность an,…, a1. Использовать стек. Сама смогла только создать список, как его сортировать не понимаю. Код:
|
21.12.2011, 22:31 | #2 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
Замечание: Список - это не стек.
Вот тут во вложении есть отсканированный фрагмент программы для работы со списком (Т.А. Павловская, Программирование на ЯВУ, Паскаль) К сожалению тут нет сортировки.
Как-то так, ...
|
21.12.2011, 22:59 | #3 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 10
|
Тогда что означает вот этот рисунок?
На лекциях нам говорили, что так работает стек. Тогда для чего вообще он нарисован в задании? |
22.12.2011, 10:44 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Bottane4ka, сортировка (любыми способами) сводится в конце концов к тому, что элементы особым образом меняют свое местоположение относительно друг друга (меняются местами).
В случае списка допустимы разные способы решения задачи: когда мы сравнили между собой два элемента и один из них больше (или меньше - в зависимости от сортировки по возрастанию или убыванию), то надо их поменять местами. если расматривать элементы списка как элементы некоторого "массива", тогда, можно поменять местами информационную часть (не трогая указатели) - в вашем случае это поменять местами содержимое полей dan второй способ. Он более сложный (алгоритмически). Но, боюсь, что именно его реализацию ждут от Вас. Когда мы сравнили два элемента и обнаружили, что их нужно поменять местами, то сами элементы оставляем на своих местах, а изменяем только ссылки на них таким образом, чтобы элементы поменялись местами В ПОСЛЕДОВАТЕЛЬНОСТИ... Цитата:
Последний раз редактировалось Serge_Bliznykov; 22.12.2011 в 10:47. |
|
22.12.2011, 15:11 | #5 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 10
|
А то, что я уже написала ранее является верным? Можно продолжить решать задачу с этим кодом?
|
22.12.2011, 15:31 | #6 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 10
|
Еще я не совсем понимаю как сравнивать два элемента списка...
Два элемента массива я понимаю - через for А как сравнить два элемента списка? как то так? Код:
|
22.12.2011, 17:36 | #7 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 10
|
Вот не без помощи интернета написала вот это:
Код:
Осталось только узнать ответ на предыдущий вопрос: "А как сравнить два элемента списка?" |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка динамического списка | Delphi | Chloe | Помощь студентам | 2 | 15.07.2011 13:09 |
Сортировка списка | 4ika | Общие вопросы C/C++ | 3 | 27.11.2009 20:38 |
Сортировка списка | [MI_nor] | Общие вопросы C/C++ | 10 | 05.05.2009 23:52 |
Сортировка списка | Рамик | Помощь студентам | 4 | 11.03.2009 14:01 |
Сортировка списка... | Arkuz | Компоненты Delphi | 4 | 03.05.2008 23:21 |