Java 不使用数组对4个数字进行排序

Java 不使用数组对4个数字进行排序,java,sorting,Java,Sorting,我有一个练习,我需要将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;

我有一个练习,我需要将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;
  }
float great1=0,great2=0,great3=0,great4=0;
INTA=7,b=5,c=6,d=0;
//下降的
如果(a>b&&b>c){
great1=a;
great2=b;
great3=c;
}否则如果(a>b&&ba&&a>c){
great1=b;
great2=a;
great3=c;
}否则如果(b>a&&aa&&a>b){
great1=c;
great2=a;
great3=b;
}
否则{
great1=c;
great2=b;
great3=a;
}

进行小型固定大小排序的好方法是使用:

每行代码都对两个元素之间的比较和交换进行编码

您可以使用为少量输入生成最佳排序网络


要按相反顺序排序,只需将
符号翻转到
就可以了。您可以用三个数字发布您的代码吗?3、4或n个数字,逻辑保持不变。请展示你的努力。这是我之前所做的now@user3500017如果这是一个家庭作业,准备好向你的老师解释这个方法。
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; }