Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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
Arrays 以值的倍数插入数组,其中值在数组传递之间递增_Arrays_Algorithm_Indexing_Merge_Insert - Fatal编程技术网

Arrays 以值的倍数插入数组,其中值在数组传递之间递增

Arrays 以值的倍数插入数组,其中值在数组传递之间递增,arrays,algorithm,indexing,merge,insert,Arrays,Algorithm,Indexing,Merge,Insert,我有一个基本数组和任意数量的数组-实际上不是数组,而是按顺序计算的值(最后将对此进行详细介绍)。我想在基本数组值前面插入新计算的值 我使用的语言具有动态数组,并且有一个名为insert的方法,该方法将值插入指定的索引中 arr = [0, 1, 2] // insert `9` in index `0` arr.insert( 0, 9 ) // result // [9, 0, 1, 2] // insert `8` in index `2` arr.insert( 2, 8 ) //

我有一个基本数组和任意数量的数组-实际上不是数组,而是按顺序计算的值(最后将对此进行详细介绍)。我想在基本数组值前面插入新计算的值

我使用的语言具有动态数组,并且有一个名为
insert
的方法,该方法将值插入指定的索引中

arr = [0, 1, 2]

// insert `9` in index `0`
arr.insert( 0, 9 )

// result
// [9, 0, 1, 2]

// insert `8` in index `2`
arr.insert( 2, 8 )

// result
// [9, 0, 8, 1, 2]

想象问题:

基本数组由
o
组成,新值为
a
b

// values

o o o o o
a a a a a
b b b b b
c c c c c
d d d d d
e e e e e


// desired result in the end of each value calculation loop

o     o     o     o     o
oa    oa    oa    oa    oa  
oab   oab   oab   oab   oab 
oabc  oabc  oabc  oabc  oabc
逐步(循环)插入可视化

o     o     o     o     o

// insert( 1, a )
oa    o     o     o     o

// insert( 3, a )
oa    oa    o     o     o

// insert( 5, a )
oa    oa    oa    o     o

// insert( 7, a )
oa    oa    oa    oa    o

// insert( 9, a )
oa    oa    oa    oa    oa

// insert( 2, b )
oab   oa    oa    oa    oa

// insert( 5, b )
oab   oab   oa    oa    oa

// insert( 8, b )
oab   oab   oab   oa    oa

// insert( 11, b )
oab   oab   oab   oab   oa
.
.
.
它在代码中的实际外观:

for( j = 0; j < 10; j++ )
{
    for( i = 0; i < baseArrLength; i++ )
    {
        idx = (j+1) + (i * (j+2));

        base.insert( idx, val );
    }
}

您的
idx
逻辑错误

// Loop 10 times
for(int j = 1; j < 11; j++){
    String val;
    // TODO: val becomes set from some calculation the Questioner does

    int idx = j;
    for(int i = 0; i < baseArrLength; i++){
        idx = idx + j + 1;
        base.insert(idx, val);
    }
}
//循环10次
对于(int j=1;j<11;j++){
字符串val;
//TODO:val通过提问者的计算设置
int idx=j;
for(int i=0;i
我在问这个问题的同一天找到了公式。是的

(i+2)+(j*(i+2))


其中,
i
是外循环,
j
是内循环。

看起来像“我正在使用的语言”是
Java
?将代码添加到设置
val
的代码段中,这样我们就可以看到。@cellepo
val
的值与语言无关,因为这是一个算术问题。这个问题与包含的代码片段一起提出,使语言具有相关性。我不知道为什么在这里隐藏代码片段是用什么语言编写的如此重要,因为代码片段本身就是。语言也是相关的,因为如果不熟悉这里使用的语言的人试图理解这个问题,他们可能不会立即意识到他们不熟悉的语法应该使用哪种语言(例如:“要从代码中找出
case
的东西,我应该用谷歌搜索“case”吗?”我同意这个问题主要是关于算法的,但正因为如此,如果我添加了一个我在原始帖子中使用的测试片段,那么问这个问题会更好。使用您的答案,我得到以下输出:
oobobocbddocbdodocbdocbdocbdocbdocodocodd
// Loop 10 times
for(int j = 1; j < 11; j++){
    String val;
    // TODO: val becomes set from some calculation the Questioner does

    int idx = j;
    for(int i = 0; i < baseArrLength; i++){
        idx = idx + j + 1;
        base.insert(idx, val);
    }
}