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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы