home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / QBAS / BAS_SORT.ZIP / BUBBLEST.BAS next >
BASIC Source File  |  1989-07-20  |  2KB  |  54 lines

  1. 1000 ' Example Program for BASIC(a)
  2. 1010 ' Sorting String Data Using the
  3. 1020 ' Bubble Sort Technique
  4. 1030 ' ******************************
  5. 1040 ' *         Main Module        *
  6. 1050 ' ******************************
  7. 1060 GOSUB 2000  ' Call Initialization
  8. 1070 GOSUB 3000  ' Call Bubble Sort
  9. 1080 GOSUB 4000  ' Call Display Sorted Array
  10. 1090 END
  11. 1100 '
  12. 2000 ' ******************************
  13. 2010 ' *       Initialization       *
  14. 2020 ' ******************************
  15. 2025 CLS        ' clear screen
  16. 2030 OPTION BASE 1
  17. 2040 READ NUM
  18. 2050 DIM FIRST.NAME$(NUM)
  19. 2060 PRINT "Unsorted - ";
  20. 2070 FOR I = 1 TO NUM
  21. 2080    READ FIRST.NAME$(I)
  22. 2090    PRINT FIRST.NAME$(I); " ";
  23. 2100 NEXT I
  24. 2110 PRINT :PRINT
  25. 2120 RETURN
  26. 2130 '
  27. 3000 ' ******************************
  28. 3010 ' *         Bubble Sort        *
  29. 3020 ' ******************************
  30. 3030 SWITCH$ = "ON"
  31. 3040 WHILE SWITCH$ = "ON"
  32. 3050    SWITCH$ = "OFF"
  33. 3060    FOR I = 1 TO NUM - 1
  34. 3070       IF FIRST.NAME$(I) > FIRST.NAME$(I + 1)                                             THEN SWAP FIRST.NAME$(I), FIRST.NAME$(I + 1) :                                       SWITCH$ = "ON"
  35. 3080    NEXT I
  36. 3090 WEND
  37. 3100 RETURN
  38. 3110 '
  39. 4000 ' ******************************
  40. 4010 ' *    Display Sorted Array    *
  41. 4020 ' ******************************
  42. 4030 PRINT "Sorted   - ";
  43. 4040 FOR I = 1 TO NUM
  44. 4050    PRINT FIRST.NAME$(I); " ";
  45. 4060 NEXT I
  46. 4065 PRINT:PRINT:PRINT  ' skip some lines for 'OK'
  47. 4070 RETURN
  48. 4080 '
  49. 4090 ' ******** Data Follows ********
  50. 4100 DATA 8
  51. 4110 DATA Jim, John, Louis, Fran
  52. 4120 DATA Tom, Andy, Lou, Mark
  53. 4130 ' ******* End of Program *******
  54.