为什么排序数组中需要临时存储?

h

这段代码是:

if(a[i] > a[j]){
   temp = a[i];
   a[i] = a[j];
   a[j] = temp;
}

为什么必须使用临时变量?当我尝试不使用temp时:

if(a[i] > a[j]){  
   a[i] = a[j];
}

它不会起作用,但是在我比较其他变量之前它不会起作用

Cacho Santa

如果没有这个临时变量

temp = a[i];
a[i] = a[j];
a[j] = temp;

那么您将丢失其中的值(在a[i]之前a[i] = a[j]

有一种无需使用时间值即可交换值的方法。解决方案在这里

在C中是这样的:

int x = 10, y = 5;
// Code to swap 'x' (1010) and 'y' (0101)
x = x ^ y;  // x now becomes 15 (1111)
y = x ^ y;  // y becomes 10 (1010)
x = x ^ y;  // x becomes 5 (0101)

使用XOR运算符。代码是从这里开始的,请转到该链接以找到使用此解决方案的完整说明和可能的缺点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么处理排序数组比未排序数组慢?(Java的ArrayList.indexOf)

来自分类Java

Java中的排序数组列表

来自分类Java

为什么处理排序数组比处理未排序数组快?

来自分类Dev

为什么在排序数组的第一个元素中得到一个随机数?

来自分类Java

从排序数组中删除0值?

来自分类Java

在排序数组中创建间隔

来自分类Java

为什么在这种排序数组情况的二进制搜索中仍然存在错误情况?

来自分类Dev

为什么处理排序数组要比未排序数组慢?

来自分类Java

为什么binarySearch需要排序数组?

来自分类Dev

在排序数组中查找缺失的整数

来自分类Dev

排序数组(二维数组)需要帮助

来自分类Dev

为什么用<排序数字的JS数组?

来自分类Dev

IE中的排序数组

来自分类Dev

为什么排序数组中的中间元素是多数元素?

来自分类Dev

为什么要找到2个不同大小的排序数组的中位数需要O(log(min(n(n,m))))

来自分类Dev

排序数组时遇到问题。为什么我的数组不能正确排序?

来自分类Dev

为什么在未排序数组中实现的优先级队列中的Find-Minimum操作仅需要复杂度= O(1)?<Steven Skiena的算法设计手册>

来自分类Dev

为什么要在选择排序算法中存储数组的长度?

来自分类Dev

为什么Azure Databricks需要将数据存储在Azure的临时存储中

来自分类Dev

在选择排序中,降序数组的性能比升序数组更快。为什么?

来自分类Dev

PHP中的向后排序数组

来自分类Dev

JavaScript中的排序数组

来自分类Dev

Javascript中的排序数组

来自分类Dev

为什么我需要一个临时变量来存储 Random 方法的值?

来自分类Dev

C中的排序数组函数

来自分类Dev

这段代码有效……但为什么呢?(在排序数组中插入一个数字)

来自分类Dev

为什么 sorted 不能正确排序数组?

来自分类Dev

重新排序数组中的相似元素

来自分类Dev

排序数组中的地板

Related 相关文章

  1. 1

    为什么处理排序数组比未排序数组慢?(Java的ArrayList.indexOf)

  2. 2

    Java中的排序数组列表

  3. 3

    为什么处理排序数组比处理未排序数组快?

  4. 4

    为什么在排序数组的第一个元素中得到一个随机数?

  5. 5

    从排序数组中删除0值?

  6. 6

    在排序数组中创建间隔

  7. 7

    为什么在这种排序数组情况的二进制搜索中仍然存在错误情况?

  8. 8

    为什么处理排序数组要比未排序数组慢?

  9. 9

    为什么binarySearch需要排序数组?

  10. 10

    在排序数组中查找缺失的整数

  11. 11

    排序数组(二维数组)需要帮助

  12. 12

    为什么用<排序数字的JS数组?

  13. 13

    IE中的排序数组

  14. 14

    为什么排序数组中的中间元素是多数元素?

  15. 15

    为什么要找到2个不同大小的排序数组的中位数需要O(log(min(n(n,m))))

  16. 16

    排序数组时遇到问题。为什么我的数组不能正确排序?

  17. 17

    为什么在未排序数组中实现的优先级队列中的Find-Minimum操作仅需要复杂度= O(1)?<Steven Skiena的算法设计手册>

  18. 18

    为什么要在选择排序算法中存储数组的长度?

  19. 19

    为什么Azure Databricks需要将数据存储在Azure的临时存储中

  20. 20

    在选择排序中,降序数组的性能比升序数组更快。为什么?

  21. 21

    PHP中的向后排序数组

  22. 22

    JavaScript中的排序数组

  23. 23

    Javascript中的排序数组

  24. 24

    为什么我需要一个临时变量来存储 Random 方法的值?

  25. 25

    C中的排序数组函数

  26. 26

    这段代码有效……但为什么呢?(在排序数组中插入一个数字)

  27. 27

    为什么 sorted 不能正确排序数组?

  28. 28

    重新排序数组中的相似元素

  29. 29

    排序数组中的地板

热门标签

归档