Sorting algorithms/Pancake sort: Difference between revisions

m
→‎{{header|Phix}}: shorter version
(Added AppleScript.)
m (→‎{{header|Phix}}: shorter version)
Line 2,749:
 
=={{header|Phix}}==
<lang Phix>function pancake_sort(sequence s)
Copy of [[Sorting_algorithms/Pancake_sort#Euphoria|Euphoria]]
<lang Phix>function flip(sequence s, integer n)
for i=1 to floor(n/2) do
{s[i],s[n-i+1]} = {s[n-i+1],s[i]}
end for
return s
end function
function pancake_sort(sequence s)
integer m
for i=length(s) to 2 by -1 do
m = largest(s[1..i],true)
for j=2 to i do
if s[j]>s[m] then
m = j
end if
end for
if m<i then
if m>1 then
s[1..m] = flipreverse(s,[1..m])
end if
s[1..i] = flipreverse(s,[1..i])
end if
end for
7,805

edits