小编Par*_*dox的帖子

Quicksort Pivot

使用quicksort对以下数组进行排序,

[6, 11, 4, 9, 8, 2, 5, 8, 13, 7]
Run Code Online (Sandbox Code Playgroud)

应选择枢轴作为第一个和最后一个元素的算术平均值,即(a[0] + a[size - 1]) / 2 (rounded down).

显示所有重要步骤,例如分区和对算法的递归调用.


我理解如何使用quicksort对数组进行排序,但是我不知道如何计算数据.

被枢轴通过计算6 + 7 = 1313 / 2 = 6.5(向下取整的6),因此枢轴2(即6元)?

我知道小于枢轴的元素出现在左侧,并且大于枢轴的元素出现在右侧,并且分区重复这个对子阵列进行排序的步骤.

任何帮助将不胜感激.

arrays sorting pivot quicksort

8
推荐指数
2
解决办法
3927
查看次数

Quicksort - 使其稳定的条件

如果排序算法使用等于键保留任何两个元素的相对顺序,则它是稳定的.在哪些条件下快速稳定?

没有项目通过时,Quicksort是稳定的,除非它有一个较小的键.

还有什么其他条件可以稳定?

sorting quicksort

6
推荐指数
2
解决办法
2万
查看次数

Java For 循环到递归函数中

public class For {
 public static void main(String[] args){
          for(int i=2; i<=1024; i *= 2){
           System.out.println("Count is: " + i);
      }
 }




public class While {
    public static void main(String[] args){
        int i = 1;
        while (i < 1024) {
            i *= 2;
            System.out.println("Count is: " + i);
      }
 }


public class DoWhile {
     public static void main(String[] args){
        int i = 1;
        if (i < 1024) {
            do { i*=2;
                System.out.println("Count is: " + i);
            } while (i < …
Run Code Online (Sandbox Code Playgroud)

java recursion for-loop while-loop

2
推荐指数
1
解决办法
1万
查看次数

Java比较字符串

 /**
 * A method to compare Strings
 * @param arg1
 * @param arg2
 * @return 
 */
public boolean myQuickCompare(String arg1, String arg2) {
    boolean a = arg1.length() == arg2.length();
    if (a) {
        for (int b = 0; b > arg1.length(); b++) {
            if (arg1.charAt(b) != arg2.charAt(b)) {
                a = false;
            }
        }
    }
    return a;
}
Run Code Online (Sandbox Code Playgroud)

我知道for循环是错误的方式,b永远不会大于字符串的长度.你会如何纠正这个问题?

你会给a和b什么明智的变量名?

java string compare coding-style

1
推荐指数
1
解决办法
395
查看次数

创建一个包含文本中单词的集合

我必须为WebPageData编写一个名为getWordsInString()的公共类方法.该方法采用一个名为text的参数,该参数应为String类型.getWordsInString()的目的是返回一个由文本引用的字符串中的distict词组成的集合.

首先使用您在Javadoc中找到的String类的方法,该类将根据字符串参数的值将任何字符串切割为多个部分.使用此方法将文本引用的字符串拆分为单词数组,并将此数组分配给名为wordArray的局部变量.该方法应声明一个能够引用一组字符串的局部变量,并为其分配一个合适类的空实例.接下来迭代wordArray并将其元素添加到新创建的集合中,最后返回应该包含文本引用的字符串中的不同单词的集合.

import java.util.*;

public class WebPageData {

private Set<String> wordSet;
private Set<String> url;

public Set<String> getUrl() {
    return url;
}

public Set<String> getWordSet() {
    return wordSet;
}

public static String getWordsInString(text) {
    return test;



public String[] split(String regex) {

            private String[] wordArray;

for (String eachText : numSet) {
    hashSet.add(text);
    ) 
   }
Run Code Online (Sandbox Code Playgroud)

我正在努力解决这个问题,请帮忙吗?

java string set

1
推荐指数
1
解决办法
4万
查看次数

Java JUnit测试

Chris编写了一个名为toBinary的函数,它具有一个整数的输入参数,并返回一个表示二进制等价的字符串.例如,如果使用整数3调用函数,则返回的字符串应为"11".

用英语写一系列测试规范,可能使用"给定","何时"和"然后"序列及其等效的JUnit代码.

我的回答是:

测试应涵盖正常情况,极端情况和错误情况.给定一个例如3的整数,它应该在执行该方法后将其转换为11.

@Test
public void testToBinary() {
Binary aBinary = new Binary();
assertEquals(3, 11);
assertEquals(2, 10);
assertFail(10, 8575);
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?

java testing junit

0
推荐指数
2
解决办法
370
查看次数