00 01 02 03 04 10 11 12 13 14 20 21 22 23 24 30 31 32 33 34 40 41 42 43 44
swapRightDiagonal(m): // no throw for n = 0 if m == null || (m.length() > 0 && m.length() != m[0].length()): throw n = m.length() ni = n -1 for layer = 0, layer < n/2, layer++: swap(m, layer, layer, ni -layer, ni -layer) for i = layer +1, i < ni -layer, i++: swap(m, layer, i, ni -i, ni -layer) swap(m, i, layer, ni -layer, ni -i) swapLeftDiagonal(m): // no throw for n = 0 if m == null || (m.length() > 0 && m.length() != m[0].length()): throw n = m.length() ni = n -1 for layer = 0, layer < n/2, layer++: swap(m, ni -layer, layer, layer, ni -layer) for i = layer +1, i < ni -layer, i++: swap(m, i, layer, layer, i) swap(m, ni -layer, i, i, ni -layer) swap(m, ai, aj, bi, bj): temp = m[ai][aj] m[ai][aj] = m[bi][bj] m[bi][bj] = temp
No comments:
Post a Comment