void addCoordinateRowFront(CoordinateRow rowOfCoordinates) {
for(int j = rowOfCoordinates.numberOfElements; j > 0; j--) {
for(int i = numberOfElements; i > 0; i--) {
newCoordinateArray[i] = newCoordinateArray[i-1];
}
newCoordinateArray[0] = rowOfCoordinates.newCoordinateArray[j-1];
numberOfElements++;
}
}
}
但我还是不太明白发生了什么。
例如,如果我有一行[1,2,3,4,5],如果我把这些数字加到行的前面或后面,结果是什么?
newcoordinatearray[i]=newcoordinatearray[i-1];
基本上是将元素移到后面,即位于索引2的元素将从索引1获得值,然后索引1将从索引0获得值。最后,索引0将获得新值。
内环
这意味着,如果[1,2,3,4,5]
正确,则内部循环将把[1,1,2,3,4]
转换为[1,1,2,3,4]
:
如何换挡到位
如果希望在不创建数组副本的情况下移位数组中的元素,即原地移位,可以执行以下操作:
//replace 1st element
int replacedIndex = dir;
int replacedValue = array[replacedIndex];
array[replacedIndex] = array[0];
//replace all other elements
for( int i = 1; i < array.length; i++) {
replacedIndex = (replacedIndex + dir) % array.length;
int temp = array[replacedIndex];
array[replacedIndex] = replacedValue;
replacedValue = temp;
}
这意味着以下几点:
模运算符还可以用于允许更大的移动,这基本上是回到范围内,即将4元素数组移动13与移动1(13%4=1)相同。
可以通过增加长度将移位带入正范围来支持负移位,即给定一个5元素数组,移位-1(向左1)与移位4(向右4)相同。
所以你可以在一开始就这样做:
//copy the initial parameter to keep the original value
int dir = direction;
//shift direction into a positive range
while( dir < 0) {
dir += array.length;
}
//bring any out-of-range direction back into range
dir %= array.length;
我有两个8位数的十六进制字符串。我需要对这两个十六进制字符串应用和操作,然后应用右移位到7位,并得到十进制值。我尝试将十六进制字符串转换为长度为4的字节数组(8*2=32位=4字节),并按相同的顺序对各个字节执行&操作,将结果保存到另一个长度为4的byre数组中。如何对这个字节数组进行位移位? 以及data1Bytes和data2Bytes之间的操作,该操作给出输出:bytearray1[0,0,
问题内容: 这是这里提出的问题的扩展(在下面引用) 我有一个矩阵(准确地说是2d numpy ndarray): 我想根据另一个数组中的滚动值独立滚动A的每一行: 也就是说,我要这样做: 有办法有效地做到这一点吗?也许使用花哨的索引技巧? 可接受的解决方案是: 我基本上想做同样的事情,除了当索引被滚动“粘贴”到行的末尾时,我希望用NaN填充行的另一侧,而不是将值移到“前”定期排成一行。 也许以某种
我在Jolt转换中有一个JSON对象数组的数组,但我需要将对象向上移动到顶层数组。我尝试添加另一个Shift,但这只是将对象移到相同的位置,或者将两个子对象的值放入一个值数组中。
我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除
我有以下模式- [名称:StringType,Grades:ArrayType(StructType(StructField(subject_grades),ArrayType(StructType(StructField(subject,StringType,false)),StructField(grade,LongType,false) 我想在数组中的subject字段上,该数组位于grad
我正在使用Processing通过串行端口向Arduino卡发送字节数组。我遇到了一个奇怪的问题,Arduino似乎无法“同步”读取数组——字节元素似乎已转移到Arduino代码。 例如,从处理I发送阵列: Arduino可以将其解读为: 这个问题是随机出现的——我尝试了大约1/3次,并且移位总是随机的。当它工作时,它会在会话期间继续工作,直到我重新启动连接。 还有其他人遇到过类似的问题吗?关于如