! microsoft copilot "write a quicksort function in the Imp77 language"
begin
routine quicksort(integer array name a, integer left, integer right)
integer i, j, pivot, temp
i = left
j = right
pivot = a((left + right) // 2)
cycle
i = i + 1 while a(i) < pivot
j = j - 1 while a(j) > pivot
exit if i > j
temp = a(i)
a(i) = a(j)
a(j) = temp
i = i + 1
j = j - 1
repeat
quicksort(a, left, j) if left < j
quicksort(a, i, right) if i < right
end
own integer array data(0 : 9) = 6, 5, 4, 3, 2, 1, 7, 8, 9, 0
integer i
printstring("Before: "); write(data(i),-1) for i = 0,1,9; newline
quicksort(data, 0, 9)
printstring("After: "); write(data(i),-1) for i = 0,1,9; newline
end of program