BUBBLE SORT

 

PERFORM VARYING A FROM 1 BY 1 UNTIL A > NUM-RECS

            PERFORM VARYING B FROM A BY 1 UNTIL B > NUM-RECS

                        IF TABLE(A) > TABLE(B)

                                    MOVE TABLE(A) TO TEMP-VAR

                                    MOVE TABLE(B) TO TABLE(A)

                                    MOVE TEMP-VAR TO TABLE(B)

                        END-IF

            END-PERFORM

END-PERFORM

 

Notes… must do both (i.e. if change one bullet, must change the other, too!)

 

SELECTION SORT

 

PERFORM VARYING A FROM 1 BY 1 UNTIL A > NUM-RECS - 1

            MOVE A TO SAVE-SUB

            PERFORM VARYING B FROM A+1 BY 1 UNTIL B > NUM-RECS

                        IF TABLE(B) < TABLE(SAVE-SUB)

                                    MOVE B TO SAVE-SUB

                        END-IF

            END-PERFORM

            MOVE TABLE(A) TO TEMP-VAR

            MOVE TABLE(SAVE-SUB) TO TABLE(A)

            MOVE TEMP-VAR TO TABLE(SAVE-SUB)

END-PERFORM