Hを、一時的に値を保持する箱として使用し、
a[i]とa[j]の値を入れ替えている。