1. 程式人生 > >C語言 swap交換值的方式

C語言 swap交換值的方式

C語言 swap交換值的方式

 

方式一:(中間值)

void swap(int *x, int *y)
{
	int temp;
	temp = *x;
	*x = *y;
	*y = temp;
}

 

方式二:(異或)

void swap(int *x, int *y)
{
	*x ^= *y;
	*y ^= *x;
	*x ^= *y;
}

 

方式三:(先合計,後減)

void swap(int *x, int *y)
{
	*x = *x + *y;
	*y = *x - *y;
	*x = *x - *y;
}

 

方式四:(數學上)

void swap(int *x, int *y)
{
	*x = *x + *y - (*y = *x);
}