我正在尝试将此选择排序从高到低编写,我不太清楚如何做到这一点.我对排序算法很陌生.
public void selectionSort(String[ ] data){
// for each position, from 0 up, find the next smallest item
// and swap it into place
for (int place=0; place<data.length-1; place++){
int minIndex = place;
for (int sweep=place+1; sweep<data.length; sweep++){
if (data[sweep].compareTo(data[minIndex]) < 0)
minIndex=sweep;
}
swap(data, place, minIndex);
}
}
Run Code Online (Sandbox Code Playgroud)
我试图改变它的原因是这里的选择排序贯穿数组的剩余部分,寻找最小值然后将其交换到前面.我想改变算法以便它也看起来对于剩余部分中的最大值,并将其交换到后面,以便它同时从前面和后面建立一个排序列表.
所有帮助将不胜感激:)
java中有什么方法可以做到这一点吗?我想要它来计算那样的时间.0950-0900是50分钟但是1700-1610 = 50分钟而不是90,1900-1710 = 110而不是190.谢谢:)
/*Visit only nodes with keys*/
if(root.alpha != '\0'){
}
Run Code Online (Sandbox Code Playgroud)
如上面的标题所述。我将如何做得更好?我正在尝试检查字符(root.alpha)是否不在该范围内。谢谢。
你怎么写Float.POSITIVE_INFINITY其他方式?
//The answer must have balanced parentesis and not use "Float" or "Double"
public class Exercise{
public static void main(String [] arg){
assert (Float.POSITIVE_INFINITY == [???]);
}
}
Run Code Online (Sandbox Code Playgroud)