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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> сортировка списка простыми вставками, рекурсивный алгоритм
toto
сообщение 18.12.2005 2:34
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Женский

Репутация: -  0  +


помогите пожалуйста с задачей про сортировку списка с помощью рекурсии unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.12.2005 9:07
Сообщение #2


Гость






type
plist=^node;
node=record
data: integer;
next:plist;
end;
function insert_sort(l: plist): plist;

function insert(a: plist; l: plist): plist;
begin
a^.next := nil;
if l = nil then insert := a
else
if a^.data < l^.data then begin
a^.next := l; insert := a;
end
else begin
l^.next := insert(a, l^.next);
insert := l;
end;
end;

begin
if l = nil then insert_sort := nil
else insert_sort := insert(l, insert_sort(l^.next));
end;


Вызывать так:
Var first: plist;
...
{ Заполнение списка }
first := insert_sort(first);
...
 К началу страницы 
+ Ответить 
toto
сообщение 18.12.2005 22:46
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Женский

Репутация: -  0  +


большое спасибо, все прекрасно работает, разобралась good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-LOVE133-
сообщение 13.04.2006 15:00
Сообщение #4


Гость






понадобилась такая же процедура... понятно все, кроме последней строчки


begin

if l = nil then insert_sort := nil

else insert_sort := insert(l, insert_sort(l^.next));

end;

объясните, пожалуйста, как это будет работать.
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 6:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"