Работа со списками: упорядочивание числового списка по возрастанию - Prolog
Формулировка задачи:
Помогите решить задачки:
Определить процедуру упорядочивания числового списка по возрастанию.
Решение задачи: «Работа со списками: упорядочивание числового списка по возрастанию»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- app(intl,intl,intl)
- split(intl,int,intl,intl)
- qsort(intl,intl)
- clauses
- app([],X,X).
- app([H|T],X,[H|Q]) :- app(T,X,Q).
- split([],_,[],[]).
- split([H|T],G,[H|Q],R) :- H<G, split(T,G,Q,R).
- split([H|T],G,Q,[H|R]) :- H>=G, split(T,G,Q,R).
- qsort([],[]).
- qsort([H|T],R) :- split(T,H,T1,T2), qsort(T1,S1), qsort(T2,S2), app(S1,[H],R1), app(R1,S2,R).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д