swap交换函数四种情况