摘要: C语言中没有C++的模板,因此我在实现两种任意类型的数据的交换时是使用预定义的方式主要使用两种方法1、使用加和减#define swap(x,y) {x+=y;y=x-y;x=x-y;}2、使用异或的方法#define swap(x,y) {x^=y;y=x^y;x=x^y;}原理基本一样 一中 y=x-y=(x+y)- y = x; x = (x +y)-x=y1.2中有一个地方需要注意,x和y的地址不可以相同,就x,y不可以是同一个变量,如果是同一个变量则会使x变为0.例如:int a=20;swap(a,a);这是a的值会变为0.C++中使用模板实现template <class 阅读全文
posted @ 2011-09-01 17:56 誑逩の蝸犇 阅读(1536) 评论(0) 推荐(0) 编辑