t=x; x=y; y=t这个是数据交换的意思吗?

比如x是3,y是5
在&t这个地址里面放一个3,然后让3=5,也就是x=y,再把&y这个地址里面存一个t,也就是&t地址里面的3,我这样理解对吗,如果不对可以简述一下吗

你可以理解为你有两个杯子x、y
x中是3
y中是5
你要将两个杯子中的3和5互换一下,你需要借助第三个杯子t;
第一步,将x中的放入t中——>t=x;
第二步, 将y中的放入x中——>x=y;
第三步,将t中的再放入y中——> y=t

是的,数据交换执行过程就是这个原理

对的,就是先把x的数放到t里然后再用y的数覆盖x的数,然后再用t覆盖y的数

可以这样看,x和y要交换拿的值,但是手上只能拿一个,所以x就把它的值先拿给t,然后拿y的值,然后y再从t那里把x给它的值拿过来,这样就完成交换

交换算法,就是引入一个中间值,来进行数值的交换,例如x=3,y=5,现在要写一段代码将其值进行交换以得到x=5,y=3,显然,要让y中存储的值存放到x的存储空间里,就要将x的存储空间中的值转移,即引入一个新的值t,来保存x的值,即t=x;x=y;y=t;
所以说,你的理解没有问题

意思就是
交换两个x和y里的数据
把x和y比作两个装满不同水的杯子
如果要交换两个杯子的水
就需要再准备一个空杯子&t
先把 x杯子的水倒入空杯子&t
这时x杯子就空了
然后把y杯子的水倒入x杯子里
这时y就杯子就空了
然后再把&t杯子里的水倒入y杯子里
就实现了x和y两个杯子 也就是两个变量
里面的水 也就是数据进行交换