(C小程序)三种数值交换方式的比…

来源:互联网 发布:大麦网数据库 网盘 编辑:程序博客网 时间:2024/04/29 17:28

采用以下三种方法交换数据:

void swap1(int&a,int& b)
{
int temp=a; //使用局部变量temp完成交换
a=b;
b=temp;
};

void swap2(int&a,int& b)
{
a=a+b; //使用加减运算完成交换
b=a-b;
a=a-b;
}

void swap3(int&a,int& b)
{
a^=b; //使用异或运算完成交换
b^=a;
a^=b;
}

swap2与swap3的方法省略了中间变量,在时间和空间上有较大的优化,效率较高。但是,swap2的方法会产生数据溢出。若编程时要求不准使用中间变量,推荐用swap3方法。但swap3也只能用于相同类型的数的交换。

0 0
原创粉丝点击