Nullreference Q&A 编程技术问答社区
第一次访问本站?请查看 FAQ!
x
0 投票
92 浏览

在不申请新空间的情况下怎么将数组倒序?

最新提问 5月 19, 2016 分类:C | 用户: lixrr
修改于 5月 19, 2016 | 92 浏览

1个回答

0 投票

可以用异或交换值的方法实现,算法是:x = x XOR y; y = y XOR x; x = x XOR y。C 语言代码:

int main(void)
{
	int a[] = {1, 2, 3, 4, 5, 6, 7 };
	
	int len = sizeof(a) / sizeof(a[0]);
	
	for(int i = 0; i < len / 2; i++ ){
		a[i] = a[i] ^ a[len - i - 1];
		a[len - i - 1] = a[len - i - 1] ^ a[i];
		a[i] = a[i] ^ a[len - i - 1];
	}

	for(int i = 0; i < len; i++)
		printf("%d ", a[i]);
	  
	return 0;
}

rextester

最新回答 5月 19, 2016 用户: Anders (3,820 分)