two pointer array swap