【问题标题】:Bubble sort without using temporary variable [closed]不使用临时变量的冒泡排序[关闭]
【发布时间】:2014-03-04 03:51:13
【问题描述】:

我想在不使用 java 中的 temp 变量的情况下对 1 维和 2 维数组进行排序。 如何做到这一点任何人都可以建议

【问题讨论】:

  • 为什么?临时变量使它更容易......
  • 使用旧的三异或技术。 (当然,数组索引仍然需要临时值。)
  • 使用全局变量怎么样? ;) 冒泡排序基于存储节点和交换...
  • A) 通过不使用冒泡排序(除非这是你的任务) B) 你不能在没有临时变量的情况下交换数组元素(除非它是一个 int 左右并且你想做丑陋的外观异或魔法stackoverflow.com/a/3912726/995891)
  • @abiessu 在采访中被要求在不使用临时变量的情况下进行排序

标签: java


【解决方案1】:

如果您使用integer(一般为数字)数组,您可以在排序算法中使用以下元素更改方法:

int x = 10;
int y = 23;

x = x + y;
y = x - y;
x = x - y;

System.out.println("x = " + x);
System.out.println("y = " + y);

输出将是:

x = 23
y = 10

【讨论】:

  • 一个数组可以包含多个元素....用这段代码Ashot不可能做到这一点
  • @user3182420,我当然知道。但这只是算法的一部分,什么时候会切换 a[i] 和 a[j]。我写了“您可以使用以下元素更改方法”。例如,该算法可以选择您(冒泡排序)。你可以在这里找到它programmingsimplified.com/java/source-code/…,而不是使用swap 变量使用提供的方法。
猜你喜欢
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 2010-09-21
  • 2021-08-15
  • 2011-11-22
  • 2012-11-14
  • 1970-01-01
相关资源
最近更新 更多