- 用空间换时间
swap中定义了c,就是在内存中又开辟了一个int内存空间,然后一次swap需要进行三次赋值运算。
void swap(int *a ,int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
- 用时间换空间
swap中没有额外的定义变量,也就是没有内存的开辟。但是一共进行了3次运算和三次赋值运算。运算次数比第一个多,所以时间效率低,但是没有开辟额外内存,所以空间效率高。
void swap(int a ,int b)
{
a=a^b;
b=a^b;
a=a^b;
}
网友评论