{
*a=*a^*b;
*b=*a^*b;
*a=*a^*b;
}
用該交換函數實現兩個數的交換,要注意的問題是a,b兩個數,不能
是從同一個地址上取數,不然會導致該數變爲0的;
在做Partion快速算法中一個子函數時就出現了該問題。
int partion(int a[],int p,int r)
{
int key,i,j;
key=a[r];
j=p-1;
for(i=p;i<r;i++)
{
if(a[i]<key)
{
j++;
swap(&a[i],&a[j]);
}
}
j++;
swap(&a[j],&a[r]);
return j;
}