swap函数c++语言 swap函数
大家好,我是小典,我来为大家解答以上问题。swap函数c++语言,swap函数,很多人还不知道,现在让我们一起来看看吧!
1、swap 函数一般有四种写法:
2、 (1)经典型 --- 嫁衣法
3、 void swap(int *a, int *b)
4、 {
5、 int temp;
6、 temp = *a;
7、 *a = *b;
8、 *b = temp;
9、 }
10、 (2)经典型改进版 --- 泛型法
11、 void swap(void *a, void *b, size_t size)
12、 {
13、 unsigned char *p = (unsigned char *)a;
14、 unsigned char *q = (unsigned char *)b;
15、 unsigned char temp;
16、 while(size--)
17、 {
18、 temp = *p;
19、 *p = *q;
20、 *q = temp;
21、 p ++;
22、 q ++;
23、 }
24、 }
25、 (3)取巧型 --- 赋值法
26、 void swap(int *a, int *b)
27、 {
28、 *a = *a + *b;
29、 *b = *a - *b;
30、 *a = *a - *b;
31、 }
32、 (4)诡异型 --- 逻辑运算法
33、 void swap(int *a, int *b)
34、 {
35、 *a = *a ^ *b;
36、 *b = *b ^ *a;
37、 *a = *a ^ *b;
38、 }
本文到此讲解完毕了,希望对大家有帮助。