from SortModule import getvalue,swap def SortFunc1(handle, low, high): for i in range(low, high): for j in range(low+1,high): if getvalue(handle,j-1) > getvalue(handle,j): swap(handle,j-1,j) def SortFunc2(handle,low,high): for i in range(low,high-1): for j in range(i+1,high): if getvalue(handle,i) > getvalue(handle,j): swap(handle,i,j) def SortFunc3(handle,low,high): Lo = low Hi = high-1 Mid = getvalue(handle,(Lo+Hi) / 2) while 1: while getvalue(handle,Lo) < Mid: Lo = Lo + 1 while getvalue(handle,Hi) > Mid: Hi = Hi - 1 if Lo <= Hi: swap(handle,Lo,Hi) Lo = Lo + 1 Hi = Hi - 1 if Lo > Hi: break if Hi > low: SortFunc3(handle,low,Hi+1) if Lo < high-1: SortFunc3(handle,Lo,high)