Max = 5 REDIM Arr(Max) FOR I = 1 TO Max Arr(I) = INT(RND(1) * 100) + 1 PRINT Arr(I); SPACE$(1); NEXT I PRINT "(Initial array)" X = INT(Max / 2) WHILE X > 0 Time = 0 Limit = Max - X WHILE (Time = 0) Switch = 0 FOR K = 1 TO Limit IF Arr(K) > Arr(K + X) THEN TempX = Arr(K) Arr(K) = Arr(K + X) Arr(K + X) = TempX Switch = K END IF NEXT K Limit = Switch - X IF Switch = 0 THEN Time = 1 END IF WEND FOR I = 1 TO Max PRINT Arr(I); SPACE$(1); NEXT I PRINT X = INT(X / 2) WEND FOR I = 1 TO Max PRINT Arr(I); SPACE$(1); NEXT I PRINT "(Sorted array)" END
Monday, 30 April 2012
Shell Sort in Liberty BASIC
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment