起始陣列 --> [1,2,3,4,5,6,7,8,null,null] 所需陣列 --> [1,2,3,null,4,5,6,7,8,空值]
基本上試圖將第 3 個索引后的所有陣列元素移動 1 個位置;這只會在陣列中創建一個間隙。
如何使用 for 回圈來做到這一點?
uj5u.com熱心網友回復:
您可以就地正確旋轉元素,而無需創建額外的陣列。
演算法是這樣的:
存盤最后一個元素,從陣列中的最后一個位置向后迭代,將元素移動一位,最后在第三個索引處插入最后一個元素:
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;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/465773.html
標籤:C#
