我得到了一个算法,可以用一种特定的方式写出欠费的顺序。
所以我得到了一个可以改变顺序的工作代码,但我不知道如何标记数字,多亏了这一点,我创建了一个新的数组。
public static void arrOrder(int[] intArray){
int temp = 0;
for (int i = 0; i <intArray.length; i++) {
for (int j = i+1; j <intArray.length; j++) {
if(intArray[i] >intArray[j]) {
temp = intArray[i];
intArray[i] = intArray[j];
intArray[j] = temp;
}
}
}
}
所以我得到了一个可以改变顺序的工作代码
不,你不知道。即使你知道如何做标记,你粘贴的代码可能会改变顺序,但它不会排序任何东西。
对于每个元素(i
循环),您的代码将:
对于上面的每一个元素,如果它更高,则更换材料。这根本不是你想要的——你想要的是首先弄清楚i
-th数字是否是最小的数字。如果没有,什么也不做(继续到下一个数字,检查该数字是否最低),如果是,将其写入一个新数组,并用一些占位符替换它,以表明您已经完成了该操作-建议是Integer。最大值
,一个很好的建议。
你所描述的“策略”包括:
i
号是否为最低值
i
循环中的一些代码,但在j
循环之后,只有当i
实际上是最低的数字时才起作用。可能涉及一个最初设置的布尔值,并在内部循环中清除(循环j
),然后是一个if
,仅当布尔值保持为真时才起作用,即-不存在更低的数字
j
循环需要击中整个阵列,而不是“只击中你上方的东西”
整数。最大值
。这可能涉及另一个if
如果你的代码看起来像你粘贴的东西,那么你做得不对,因为你粘贴的东西没有做任何命名的策略元素。
我们有一个偶数放置排序和奇数放置排序的数组,这意味着偶数索引的子数组被排序,奇数索引的子数组被排序。例如-{1,4,2,7,4,18,5,19,20}两个排序的子数组是{1,2,4,5,20}和{4,7,18,19}-一组有偶数索引,另一组有奇数索引。有没有一种方法可以用O(1)空间复杂度和O(n)时间对整个数组进行排序?
有些答案最初有这样的排序算法: 请注意,和都是全范围的,因此可以比大,也可以比小,所以它可以使成对的顺序正确,也可以使成对的顺序错误(实际上这两种顺序都正确!)。我认为这是一个错误(作者后来称之为错误),这会混淆数组,但它看起来排序正确。不过,原因并不明显。但是代码的简单性(范围很广,没有像冒泡排序那样的)使它变得有趣。 正确吗?如果是这样,它为什么起作用?它有名字吗? 带测试的Python实现:
本文向大家介绍简单讲解奇偶排序算法及在Java数组中的实现,包括了简单讲解奇偶排序算法及在Java数组中的实现的使用技巧和注意事项,需要的朋友参考一下 奇偶排序是一个比较有个性的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组 第一次比较奇数列,奇数列与它的邻居偶数列比较,如6和2比,4和1比,5和9比 交换后变成 第二次比较偶数列,即6和1比,
问题内容: 有没有什么简便的方法可以按降序对数组进行排序,就像它们在Arrays类中如何按升序排序? 问题答案: 你可以使用它对所有对象进行排序 不能直接用于降序对原始数组进行排序。如果尝试Arrays.sort()通过传递由定义的反向 来调用该方法,则会抛出错误 找不到适合sort(int [],comparator)的方法 可以与“对象数组”(例如整数数组)一起使用,但不能与基本数组(例如整数
主要内容:升序,降序我们在学习 Java 的过程中肯定会遇到对数组进行升序或降序等排序问题,本节主要介绍如何实现 Java 数组的升序和降序。Java 语言使用 Arrays 类提供的 sort() 方法来对数组进行排序。 升序 使用 java.util.Arrays 类中的 sort() 方法对数组进行升序分为以下两步: 导入 java.util.Arrays 包。 使用 Arrays.sort(数组名) 语法对数
嗨,我目前有4个数组都持有不同的数据,我遇到的问题是我想按字母顺序对其中一个数组进行排序,通常我会这样做 其中数组将是我想按字母顺序排序的数组,但我需要数组一起排序。 比如说我的数组是这样的 我想根据Pet数组进行排序,我的输出应该是这样的,所有的第三个值现在都是第一个,第一个值现在是第三个(这比简化了很多,我的实际数组包含数千个输入) 有没有一种简单的方法可以做到这一点,我可以对一个数组进行排序