小编MAG*_*MAG的帖子

Rust中的函数是否等同于Java的Stream.Iterate?

Rust标准库是否有一个函数可以在给定种子和lambda的情况下生成无限迭代器,就像Java 8 Streams提供的那样?如果没有,Rust的类似替代品是什么?

Stream.iterate(1, x -> 2 * x);
Run Code Online (Sandbox Code Playgroud)

iterator rust

9
推荐指数
2
解决办法
634
查看次数

归并排序最有效的实现

所以我想知道 Java 中合并排序最有效的实现是什么(如果它的时间效率会根据语言而变化)。这个问题可能很微不足道,但我的最终目标是向更有经验的程序员学习。这是我做的两个例子:

//version I made.
public static double[] mergeSort(double[] arreglo) {
    if (arreglo.length > 1) {
        int d = (arreglo.length / 2);
        double[] arreglo1 = Arrays.copyOfRange(arreglo, 0, d),
                arreglo2 = Arrays.copyOfRange(arreglo, d, arreglo.length);
        arreglo1 = mergeSort(arreglo1);
        arreglo2 = mergeSort(arreglo2);
        return merge(arreglo1, arreglo2);
    } else {
        return arreglo;
    }
}

public static double[] merge(double[] arreglo1, double[] arreglo2) {
    double[] convi = new double[arreglo1.length + arreglo2.length];
    for (int i = 0, m1 = 0, m2 = 0; i < convi.length; i++) …
Run Code Online (Sandbox Code Playgroud)

java sorting algorithm mergesort

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

在编译时评估'mem :: size_of'吗?

使用此表达式时:

mem::size_of::<T>() * 8
Run Code Online (Sandbox Code Playgroud)

像这样:

value % (mem::size_of::<T>() * 8);
value * (mem::size_of::<T>() * 8);
Run Code Online (Sandbox Code Playgroud)

编译器是否能够优化它:

value & ((mem::size_of::<T>() * 8) - 1);
value >> LOG2_OF_EXPRESION;
Run Code Online (Sandbox Code Playgroud)

有没有相当于C++的东西constexpr所以我可以从函数中返回它并在需要编译时表达式的地方使用它?

rust

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

如果里面有什么错误吗?

for(int i =0; i<8;i++){
  for(int j =0; j<8;j++){
    Ratsuk.getNewtablero().getMesa(i,j).setBackground(matrizcolor[i][j]);
    if (Ratsuk.getNewtablero().getMesa(i,j).getBackground()==Color.lightGray);
    Ratsuk.getNewtablero().getMesa(i,j).setEnabled(false);
  }
}
Run Code Online (Sandbox Code Playgroud)

Ratsuk.getNewtablero().getMesa(i,j) 用于调用newtablero内部的JButton 2d数组,matrizcolor是相同大小的2d颜色数组.

当它运行时,该阵列中的所有按钮不仅禁用浅灰色的按钮.任何1可以解释我为什么?

java

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

标签 统计

java ×2

rust ×2

algorithm ×1

iterator ×1

mergesort ×1

sorting ×1