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_Logic_Median_Insertion Sort - Fatal编程技术网

Java 排序算法,插入排序

Java 排序算法,插入排序,java,sorting,logic,median,insertion-sort,Java,Sorting,Logic,Median,Insertion Sort,我一直在努力解决这个问题,现在陷入了困境。问题的说明如下所示 k个数的中位数定义为第(k/2)个数 k为偶数时的最小数;和((k+1)/2)第 如果k为 古怪的例如,4个数字的中位数:2 1 8 7是第二个最小的数字,即2,5的中位数 数字:211876是第三个最小的数字,即6。 在这个问题中,你将得到N个数字。让kth 中位数或m(k)被定义为第一个k的中位数 数字(1您似乎每次都在对整个数组进行排序。您需要在每次迭代中从0排序到i(独占)。此外,对于奇数长度,在计算下标时需要括号:myInt

我一直在努力解决这个问题,现在陷入了困境。问题的说明如下所示

k个数的中位数定义为第(k/2)个数 k为偶数时的最小数;和((k+1)/2)第 如果k为 古怪的例如,4个数字的中位数:2 1 8 7是第二个最小的数字,即2,5的中位数 数字:211876是第三个最小的数字,即6。 在这个问题中,你将得到N个数字。让kth 中位数或m(k)被定义为第一个k的中位数
数字(1您似乎每次都在对整个数组进行排序。您需要在每次迭代中从0排序到i(独占)。此外,对于奇数长度,在计算下标时需要括号:
myIntArray[(i+1)/2]
而不是
myIntArray[i+1/2]
。由于运算符优先级,Java将后者计算为
myIntArray[i+(1/2)]
,这只是
myIntArray[i]
,因为
1/2
在整数除法中为0。

为什么不简单地使用
数组。sort()
?另外,我认为您不应该首先对整个数组进行排序。这不会得到正确的答案。我被指示使用算法对其进行排序,而不是使用java集合。我认为代码所做的是向数组中添加一个值,然后进行排序,然后从列表中添加下一个值,不是这样吗?您的排序循环
用于(j=1;j
。你应该使用
i
而不是
myIntArray.length
作为
j
数组的限制。sort
适用于基本数组,而不是Java集合。非常感谢,你解决了我的问题。在添加括号后,答案是正确的。现在,它正在研究如何加快整个过程以满足时限是