![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.05.2010
Сообщений: 24
|
![]()
Есть циклический однонаправленный список, заданный двумя массивами, массивом данных (info) и массивом указателей (pt). Нужно отсортировать список.
Массив данных ведь сортировать не нужно, а нужно лишь перевести указатели ? Натолкните на идею, каким путём это реализовать. Элементы массива данных в любом случае нужно будет сравнивать (что бы узнать что чего меньше), или нет? За основу взял сортировку пузырьком: Код:
Последний раз редактировалось ArtJuhn; 24.11.2010 в 15:15. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
если уж мы делаем список то доступ к данным должен быть через этот список (т.е. через массив указатели (pt) который мы и должны сортировать.
procedure Sort(var pt:array of integer); var i,j,tmp:integer; begin for i:=0 to Length(pt)-1 do for j:=Length(pt)-1 downto i do if info[pt[j-1]]>info[pt[j]] then begin // а теперь меняем pt[j-1] pt[j] end; end;
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 24.11.2010 в 16:00. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 31.05.2010
Сообщений: 24
|
![]() Код:
Массивы заданы так: Код:
На всякий случай приведу ещё, как создаю список: Код:
Последний раз редактировалось ArtJuhn; 24.11.2010 в 16:22. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программная реализация однонаправленного линейного списка | Денис Ст | Помощь студентам | 2 | 14.01.2014 21:50 |
Реализация однонаправленного шаблонного связанного списка | Blade | Общие вопросы C/C++ | 17 | 28.03.2009 19:59 |
организация циклического алгоритма | NEMO1991 | Помощь студентам | 2 | 20.12.2008 22:36 |