交换 a,b
通常情况下是这样写就可以
int t;
t=a;
a=b;
b=t;
但是如果交换
a[i]和a[a[i]]这个方法就不在适用了
例如:
交换的元素为:
i=3
a[i]=5;
a[a[i]]=8;
交换后元素应该为
a[5]=5,a[3]=8;
但是如果还按照老方法交换,结果会变为:
a[3]=8;
a[8]=5;
如果考虑到元素越界问题,将是一场灾难!
因为在交换元素的同时,另一个元素的下标也随之改变
所以应该这样写:
t = a[i];
a[a[i]] = a[i];
a[t] = t;