Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. sortowanie([],[]). %pusta lista jest posortowana
  2. sortowanie([X],[X]). %jeden element jest posortowany
  3. sortowanie(Lista,Posortowana):-Lista=[X|Y],Z=0,
  4. maxlista([X|Y],Maxliczba),
  5. policz(Lista,Z,Q),
  6. dodajdoposortowanej(Z,Q,[],Posortowana),
  7. zwieksz(Maxliczba,Z,Posortowana,Lista).
  8.  
  9. maxlista( [], 0).
  10. maxlista( [X], X).
  11. maxlista( [H | L], Max) :-
  12. maxlista( L, N),
  13. ((Max is H, H > N);
  14. (Max is N, N > H)).
  15.  
  16.  
  17. policz([],X,0).
  18. policz([X|T],X,Y):- policz(T,X,Z), Y is 1+Z.
  19. policz([_|T],X,Z):- policz(T,X,Z).
  20.  
  21. dodajdoposortowanej(L,Q,Lista,[L|Lista2]):- Q>1, NewQ is Q-1, dodajdoposortowanej(L,NewQ,Lista,Lista2).
  22. dodajdoposortowanej(L,Q,Lista,[L|Lista]):- Q=1.
  23. dodajdoposortowanej(L,Q,Lista,Lista):- Q=0.
  24.  
  25. zwieksz(Maxliczba,X,Posortowana,Lista):- Maxliczba>X, NewX is X+1, policz(Lista,NewX,Q), dodajdoposortowanej(NewX,Q,Posortowana,Lista2),zwieksz(Maxliczba,NewX,Lista2).
  26. zwieksz(Maxliczba,X,Posortowana,Lista):- Maxliczba=X.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement