自己写了一个,不知道行不行
来源:2-3 实现双路快速排序法
慕圣9470074
2021-03-11 16:22:26
尝试过的解决方式:
private static <E extends Comparable<E>> int partition(E[] arr, int l, int r, Random rnd) {
int i = l + 1, j = r;
while (i <= j) {
if (arr[i].compareTo(arr[l]) >= 0) {
if (arr[j].compareTo(arr[l]) <= 0) {
swap(arr, i, j);
i++;
j--;
}else
j--;
} else
i++;
}
swap(arr, l, j);
return j;
}
1回答
liuyubobobo
2021-03-11
课程给出了测试方法,自己实际测试一下呀!
对于 100 万级别的随机数据进行排序,测试几轮都没有抛异常的话,基本不会有大的问题。当然,这是比较粗糙的测试方式,深入到测试领域又是一个专门的方向了,有兴趣可以了解一下如何编写完善的单元测试。
另外,还有一个简单的测试方式,是使用 Leetcode 的问题。Leetcode 的很多问题都需要先排序在做事情。可以把排序的过程换成自己写的逻辑,看能否通过 Leetcode 的问题。你会看到,课程后续我们也会这样借助 Leetcode,来测试我们自己的代码的。
继续加油!:)
相似问题