int n = 3, m = 5; 
  n = m + n; // n becomes 8
  m = n - m; // m becomes 8 - 5 == 3
  n = n - m; // n becomes 8 - 3 == 5  
  // what do we have in n and m now?
  

  6  5  4  3  2  1
  5  4  3  2  1  6
   
for (int j = 0; j < a.length; j=j+ 1) { 
  for (int i = 0; i < a.length - 1; i=i+1) {
    if (a[i] > a[i+1]) {
      int temp; 
      temp = a[i]; 
      a[i] = a[i+1]; 
      a[i+1] = temp; 
    }
  } 
}


import java.util.*; 

class One {
  public static void main(String[] args) {
    int[] b = {9, 8, 7, 6, 5, 4, 3, 2, 1}; 
    System.out.println( Arrays.toString( b ) ); 
    One.sort( b ); 
    System.out.println( Arrays.toString( b ) ); 
  }
  public static void sort(int[] a) { 
    for (int j = 1; j < a.length; j=j+1) { 
                 // below remember http://www.youtube.com/watch?v=P3qUhG0CFvE
      for (int i = 0; i < a.length - 1; i=i+1) {
        if (a[i] > a[i+1]) {
          int temp; 
          temp = a[i]; 
          a[i] = a[i+1]; 
          a[i+1] = temp; 
          // http://www.youtube.com/watch?v=P3qUhG0CFvE
        }
      } 
      System.out.println("End of pass " + j + ": " + Arrays.toString( a )); 
    }
  }
}