JMU
Swapping
A Programming Pattern


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu


Motivation
Review
Review (cont.)
javaexamples/programmingpatterns/Swapping.java (Fragment: assignment)
        char swordOfAlice, swordOfBetty;
        
        swordOfAlice = 'C'; // Caladbolg
        swordOfBetty = 'D'; // Durendal
        
Swapping_Assignment
A Defective Algorithm (cont.)
javaexamples/programmingpatterns/Swapping.java (Fragment: badswap)
        swordOfAlice = swordOfBetty;
        swordOfBetty = swordOfAlice;
        
Swapping_BadSwap
Thinking About the Problem
The Pattern
The Pattern (cont.)
Swapping
Example
javaexamples/programmingpatterns/Swapping.java (Fragment: swordswap)
        temp = swordOfAlice;        
        swordOfAlice = swordOfBetty;
        swordOfBetty = temp;
        
The Example (cont.)
Swapping_SwapSteps
A Warning