Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选择排序帮助_Java_Sorting - Fatal编程技术网

Java 选择排序帮助

Java 选择排序帮助,java,sorting,Java,Sorting,您好,我想知道,如果您有一个整数数组,您将如何使用排序它使用选择排序降序。我知道怎么按升序做,但我不知道怎么按降序做 谢谢 是一种比较排序。要按相反顺序排序,只需颠倒比较即可 换句话说,使用是一种比较排序,而不是使用。要按相反顺序排序,只需颠倒比较即可 换句话说,不要使用,而是使用按照升序进行操作,除非总是选择最大的元素而不是最小的元素。按照升序进行操作,除非您总是选择最大的元素而不是最小的元素。选择排序是一种比较排序技术(您使用比较运算符来获得升序或降序)。因此,要获得降序,只需将比较运算符从

您好,我想知道,如果您有一个整数数组,您将如何使用排序它使用选择排序降序。我知道怎么按升序做,但我不知道怎么按降序做

谢谢

是一种比较排序。要按相反顺序排序,只需颠倒比较即可

换句话说,使用
是一种比较排序,而不是使用
。要按相反顺序排序,只需颠倒比较即可


换句话说,不要使用
,而是使用
按照升序进行操作,除非总是选择最大的元素而不是最小的元素。

按照升序进行操作,除非您总是选择最大的元素而不是最小的元素。

选择排序是一种比较排序技术(您使用比较运算符来获得升序或降序)。因此,要获得降序,只需将比较运算符从
翻转到code>

你可能想读更多的关于

我希望这有帮助


cheers

选择排序是一种比较排序技术(您可以使用比较运算符获得升序或降序顺序)。因此,要获得降序,只需将比较运算符从
翻转到code>

你可能想读更多的关于

我希望这有帮助


cheers

选择排序很简单,您可以查看第一个元素,如果它是>元素[i],则可以交换它。例如:

8519

从元素8开始。看下一个元素,它较小,所以交换它:

5819

现在看下面的元素1,它也比5个交换位置小

1859

最后,9>1移动到下一个元素(8)并进行比较…继续这样做,直到有足够的时间

1 5 8 9

现在通过降序进行相反的排序是相同的算法,但您只需检查它是否为>而不是1,是的,因此交换它:

91588

继续..移动到第二个数字是1<5,是的交换它:

9518

继续这样做,直到你成功为止

9 8 5 1

下面是一些伪代码,它不是Java而是C,但应该可以帮助您理解,如果您可以实现升序选择排序,那么您可以实现降序选择排序:

 while(pTemp2 != NULL)
   {   
       //we implement a selection sort 
       //check if incoming node->datum with each node in the list
       //swap values if >
      if (pTemp2->datum > pTemp->datum)
         {
         //swap the values
         int temp = pTemp->datum;
         pTemp->datum = pTemp2->datum;
         pTemp2->datum = temp;
         }
         //advance the pointer
      pTemp2=pTemp2->next;
   }

选择排序很简单,您可以查看第一个元素,如果它是>元素[i],则可以交换它。例如:

8519

从元素8开始。看下一个元素,它较小,所以交换它:

5819

现在看下面的元素1,它也比5个交换位置小

1859

最后,9>1移动到下一个元素(8)并进行比较…继续这样做,直到有足够的时间

1 5 8 9

现在通过降序进行相反的排序是相同的算法,但您只需检查它是否为>而不是1,是的,因此交换它:

91588

继续..移动到第二个数字是1<5,是的交换它:

9518

继续这样做,直到你成功为止

9 8 5 1

下面是一些伪代码,它不是Java而是C,但应该可以帮助您理解,如果您可以实现升序选择排序,那么您可以实现降序选择排序:

 while(pTemp2 != NULL)
   {   
       //we implement a selection sort 
       //check if incoming node->datum with each node in the list
       //swap values if >
      if (pTemp2->datum > pTemp->datum)
         {
         //swap the values
         int temp = pTemp->datum;
         pTemp->datum = pTemp2->datum;
         pTemp2->datum = temp;
         }
         //advance the pointer
      pTemp2=pTemp2->next;
   }
如果您了解它是如何工作的,那么按降序排序应该很简单。再看一遍你的笔记/书,并遵循选择排序的实际工作方式可能是个好主意

要按升序排序,请在每个步骤中选择最小元素。要按降序排序,只需选择最大元素。因此,在第一步中选择最大的,在第二步中选择下一个最大的,依此类推,生成一个从最大到最小排序的列表

如果您了解它是如何工作的,那么按降序排序应该很简单。再看一遍你的笔记/书,并遵循选择排序的实际工作方式可能是个好主意


要按升序排序,请在每个步骤中选择最小元素。要按降序排序,只需选择最大元素。因此,在第一步中选择最大的,在第二步中选择下一个最大的,依此类推,生成一个从最大到最小排序的列表

为什么会被否决?人们太高兴了。那么开发人员为什么不实现一种方法来判断谁投了反对票呢?这是被否决的,因为这是一个“做我的家庭作业”的问题。此外,这是谷歌很快就能解决的问题。为什么会被否决?人们太高兴了。那么开发人员为什么不实现一种方法来判断谁投了反对票呢?这是被否决的,因为这是一个“做我的家庭作业”的问题。此外,这也是谷歌能迅速解决的问题。