多语言展示
当前在线:368今日阅读:84今日分享:32

如何用异或实现数组倒置

现在有很多人都在学习编程语言,其中有一个很重要的操作需要我们学会,这个操作就是用异或运算来实现数组的倒置。如何才能实现这个操作呢?今天就让小编来帮助大家解决这个问题吧!
工具/原料
1

异或的理解

2

正确的使用

方法/步骤
1

首先我们要清楚异或运算到底是什么机制,只有清楚了异或运算的机制,我们才能进一步编写够轿我们的程序。异或,用英文缩写表示是xor,符号表示是“^”,简单的说,两数进行异或运算,两数相同则结果为0,两数不同则结果为1。

2

为了加强各位小伙伴对异或的理解,小编现在举几个例子。例如:1^0=1, 1^1=0, 0^0=0。当然,我们可以用编译环境来帮助我们简单地理解异或,将两个变量异或的结果赋给一个新的变量,然后输出这个新的变量以后,我们就可以得到异或的结果了。

3

然后小编就要来帮助处粒大家了解如何用异或来倒置一个数组了,第一点,我们要明白异或为什么能交换数值。异或交换数值的原理很简单。我们将两数异或的结果与其中一数再进行异或,我们就可以得到另一个数了。即:m=m^n; n=m^n; m=m^n。然后我们就会发现,m和n的值在经过上述的运算以后数值交换了,如下图所示。

4

接下来就是数组的倒置实现,实际上就是通过for循环实现对数组首元素和数组最后一个元素的交换, 即: for(i = 0;  i <= len/2-1; i++) {a[i]^=a[len-i-1];a[len-i-1]^=a[i];a[i]^=a[len-i-1];}。

5

需要小伙伴们注意的是,上述的len是数组的实际长度,我包新王们可以用strlen这个函数来获取数组的实际长度,这里小编直接编写一个程序,用的是确定长度的数组,供大家参考。最后祝大家学习愉快!

注意事项
1

原创不易,禁止转载,违者必究!

2

喜欢请点赞!

推荐信息