当前位置: 首页 > 面试题库 >

排序4个数字,不带数组

孟嘉歆
2023-03-14
问题内容

我有一个练习,需要在 不使用数组的情况下 将4个数字升序排列,然后再降序 排列
。我只能使用循环和if语句。我已经用3个数字做到了,但是现在用4个数字我无法想到逻辑。

  float great1 = 0, great2 = 0, great3 = 0, great4 = 0;
  int a = 7, b = 5, c = 6, d = 0;

  // Descending
  if (a > b && b > c) {
    great1 = a;
    great2 = b;
    great3 = c;

  } else if (a > b && b < c) {
    great1 = a;
    great2 = c;
    great3 = b;

  } else if (b > a && a > c) {
    great1 = b;
    great2 = a;
    great3 = c;

  } else if (b > a && a < c) {
    great1 = b;
    great2 = c;
    great3 = a;

  } else if (c > a && a > b) {
    great1 = c;
    great2 = a;
    great3 = b;
  }

  else {
    great1 = c;
    great2 = b;
    great3 = a;
  }

问题答案:

一种进行小型,固定大小排序的好方法是使用排序网络:

int tmp;
if (a > b) { tmp = a; a = b; b = tmp; }
if (c > d) { tmp = c; c = d; d = tmp; }
if (a > c) { tmp = a; a = c; c = tmp; }
if (b > d) { tmp = b; b = d; d = tmp; }
if (b > c) { tmp = b; b = c; c = tmp; }

每行编码两个元素之间的比较和交换。

您可以使用此页面为少量输入生成最佳的分类网络。

要以相反的顺序排序,只需将>标志翻转为标志即可<



 类似资料:
  • 问题内容: 我有一个数组 并且需要对其进行排序,使其看起来像; 我尝试了排序功能; 但这给出了命令 我试图考虑一个正则表达式可以正常工作,但无法解决这个问题。 如果有帮助,格式将始终为2个字母,x个数字,然后是任意数量的字符。 问题答案: 这称为“自然排序”,可以像这样在JS中实现: 要以相反的顺序排序,只需交换参数即可: 或简单地

  • 我试图建立一个方法,将排序一个二维数组的双打按列。基于所提供的规范,此方法也不应该采用长度不等的行的粗糙数组。我正在使用双[][]mdarray={{3.0, 4.0, 1.0, 8.0},{13.0, 2.0, 12.0, 9.0}测试这个 使用打印方法时,应将其显示为 3.0, 2.0, 1.0, 8.0, 13.0, 4.0, 12.0, 9.0, 使用单独的打印方法输出结果时,数组似乎没有

  • 本文向大家介绍javascript排序函数实现数字排序,包括了javascript排序函数实现数字排序的使用技巧和注意事项,需要的朋友参考一下 javascript排序函数实现数字排序 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 我有一个字符串列表,比如 当对这些字符串应用常规排序时,它们的排序如下 而不是 我通过以下步骤部分实现了解决方案: 分隔所有字符、数字和特殊字符。 3、每个代表字符串的列表都被添加到一个列表中 4、应用于特定列的实际排序 实际问题:尽管执行了上述所有步骤,但结果仍然并没有达到预期。 可能的解决方案是按以下步骤进行: 但是解决方案有一些困难。 字符串可能并不总是具有相同的格式,这意味着我必须为遇到的

  • 问题内容: 我有一个包含数字的字符串列表,但找不到找到对它们进行排序的好方法。 例如,我得到这样的东西: 用的方法。 我知道我可能需要以某种方式提取数字,然后对列表进行排序,但是我不知道如何以最简单的方式进行操作。 问题答案: 也许您正在寻找人工排序(也称为自然排序): 产量 PS。我已经更改了答案,以使用Toothy的自然排序实现(在此处发表评论),因为它比我的原始答案快得多。 如果您希望使用浮

  • 问题内容: myArray = [Step 6, Step 12, Step 5, Step 14, Step 4, Step 11, Step 16, Step 9, Step 3, Step 13, Step 8, Step 2, Step 10, Step 7, Step 1, Step 15] 如何以这种方式在上面对这个数组排序? 我很快使用了此功能,但它是按这种方式排序的 问题答案: 另