Advertisement
DevMakoto

ShellShort.VFP

Nov 21st, 2015
1,399
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CLEAR
  2.  
  3. PUBLIC ARRAY A[10]
  4. A[1] = 9
  5. A[2] = 7
  6. A[3] = 6
  7. A[4] = 10
  8. A[5] = 1
  9. A[6] = 4
  10. A[7] = 3
  11. A[8] = 8
  12. A[9] = 2
  13. A[10] = 5
  14.  
  15. SHELLSORT(@A)
  16.  
  17. FOR K = 1 TO 10
  18.    @K,5 SAY A[K]
  19. ENDFOR
  20. ****************************************************************************
  21. FUNCTION SHELLSORT
  22. LPARAMETERS A
  23. N = ALEN(A)
  24. SALTO = INT(N/2)
  25.  
  26.     DO WHILE SALTO > 0
  27.         FOR I = INT(SALTO+1) TO N
  28.             J = I - SALTO
  29.             DO WHILE J > 0
  30.                 K = J + SALTO
  31.                 IF A[J] <= A[K]
  32.                     J = 0
  33.                 ELSE
  34.                     TEMP = A[J]
  35.                     A[J] = A[K]
  36.                     A[K] = TEMP
  37.                 ENDIF
  38.                 J = J - SALTO
  39.             ENDDO
  40.         ENDFOR
  41.         SALTO = INT(SALTO/2)
  42.     ENDDO
  43.  
  44. ENDFU
  45. ****************************************************************************
  46. FUNCTION SHELLSORT
  47. LPARAMETERS A
  48. N = ALEN(A)
  49. SALTO = INT(N/2)
  50.  
  51.     DO WHILE SALTO > 0
  52.         FOR I = INT(SALTO+1) TO N
  53.             J = I - SALTO
  54.             DO WHILE J > 0
  55.                 K = J + SALTO
  56.                 IF A[J] <= A[K]
  57.                     J = 0
  58.                 ELSE
  59.                     TEMP = A[J]
  60.                     A[J] = A[K]
  61.                     A[K] = TEMP
  62.                 ENDIF
  63.                 J = J - SALTO
  64.             ENDDO
  65.         ENDFOR
  66.         SALTO = INT(SALTO/2)
  67.     ENDDO
  68.  
  69. ENDFUNC
Advertisement
RAW Paste Data Copied
Advertisement