Работа со списками: упорядочивание числового списка по возрастанию - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д