swap1(data[min],data[max]);
要实现上面这个,将同一个数组中的两个值交换,,swap函数该怎么写啊,同一个数组的话,参数同就不会了。。求大佬解答。
本蒟蒻只会写三种,望大佬采纳。
第一种:
template<typename T>
void swap(int *a, int *b) {
int *tmp = *a;
*a = *b; *b = *tmp;
}
第二种:
template<typename T>
void swap(int *a, int *b) {
*a = *a + *b; *b = *a - *b; *a = *a - *b;
}
第三种:
template<typename T>
void swap(int *a, int *b) {
*a = *a ^ *b; *b = *b ^ *a; *a = *a ^ *b;
}