如何在数组中的某个索引之后将所有元素移动 1 个位置?C#

科洛多罗

起始数组 --> [1,2,3,4,5,6,7,8,null,null] 所需数组 --> [1,2,3,null,4,5,6,7,8,空值]

基本上试图将第 3 个索引后的所有数组元素移动 1 个位置;这只会在数组中创建一个间隙。

如何使用 for 循环来做到这一点?

毫米8

您可以就地正确旋转元素,而无需创建额外的数组。

算法是这样的:

存储最后一个元素,从数组中的最后一个位置向后迭代,将元素移动一位,最后在第三个索引处插入最后一个元素:

int?[] arr = new int?[] { 1, 2, 3, 4, 5, 6, 7, 8, null, null };
const int StartIndex = 3;

int? last = arr[arr.Length - 1];
for (int i = arr.Length - 1; i > StartIndex; i--)
    arr[i] = arr[i - 1];
arr[StartIndex] = last;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C中将数组元素移动n个位置

在C#中将列表中的所有项目移动一个位置的最佳方法

c#如何通过对单词中的每个位置使用char数组来生成单词的所有组合

如何在cv :: Mat类(16UC1)中的某个位置修改值

如何在序列中接收 > 1 个位置参数

如何在C#中的多个位置搜索存在的立即子字符串

如何在控制台应用程序中同时写多个位置?C#

将AVX 256向量元素按左/右1个位置随机播放-C本征

C#使用置换建立置换,但如果某个位置不存在则跳过

在C#中以4秒的间隔在2个位置之间绘制箭头

循环x个单词并移动1个位置

无法将旧元素推到数组中的某个位置

将矩阵的每个连续行向右循环 1 个位置

预期有1个位置参数(Flutter,iOS)

替换阵列中 1 个位置的选择图像

将数组元素移动 n 个位置

如何在ArrayList中的某个位置更新元素?

如何在某个位置附近找到某个位置?

如何在C#Winforms中以编程方式移动Form1中的所有标签

C# - 如何将一个节点及其子节点移动到 XML 文档中的另一个位置?

<lambda>() 需要 1 个位置

在改组后的Unity Engine C#中实例化4个位置的4个预制件

“ TypeError:<lambda>()接受1个位置参数,但给出了2个位置” Python中的Lambda表达式

将数组索引增加1 C#

在for循环中检索每个位置的“ n-1”和“ n + 1”元素

在 C# 中有没有一种方法可以将文件从一个位置复制到另一个位置并覆盖现有文件?

numpy.insert 目标数组位置为 -1 不是最后一个位置

将链表中的某个节点向前移动 n 个位置

Powershell或C#:使用CSV数据将文件从一个位置复制到另一位置