两数交换的问题 (转)[@more@]
交换两个数有两中最基本的方法,两数直接交换和通过第三方交换。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
通过第三方交换是最安全的。两数直接交换有时候会导致一些问题。
请看下列:
这是一个最基本的选择排序算法
template
int Max(T a[],int n)
{
int pos=0;
for(int i=1;i
{
if(a[pos]
pos=i;
}
return pos;
}
template
void S(T &lhs,T &rhs)
{
lhs=lhs+rhs;
rhs=lhs-rhs;
lhs=lhs-rhs;
}
template
void ionSort(T a[],int n)
{
for(int i =n;i>0;--i)
Swap(a[Max(a,i)],a[i-1]);
for(i=0;i
cout<
转载于:http://blog.itpub.net/10752043/viewspace-992881/