100 REMark $$external 110 DEFine PROCedure qsort(array,bottom,top) 120 LOCal loop,lo,hi,pointer 130 lo=bottom:hi=top 140 pointer=bottom 150 REPeat loop 160 IF lo>=hi:EXIT loop 170 IF array(lo)>array(hi) 180 temp$=array(lo) 190 array(lo)=array(hi) 200 array(hi)=temp$ 210 IF pointer=lo 220 lo=lo+1:pointer=hi 230 ELSE 240 hi=hi-1:pointer=lo 250 END IF 260 ELSE 270 IF pointer=lo 280 hi=hi-1 290 ELSE 300 lo=lo+1 310 END IF 320 END IF 330 END REPeat loop 340 IF ABS(top-bottom)<2 THEN RETurn 350 qsort array,bottom,pointer-1 360 qsort array,pointer+1,top 370 END DEFine qsort