我有一个数组,我想在没有任何辅助数组的情况下将其元素向左移动... 我怎样才能做到这一点? 我尝试这样做,但我认为这不是最好的方法。 a1是我要移动其元素的数组
for (int i = 0; i < a1.Length ; i++)
{
foreach (var element in a1)
{
current = element;
next = a1[i];
next = current;
}
current = a1[i];
next = a1[i + 1];
a1[i] = next;
}
答案 0 :(得分:1)
如果向左移动是指向顶部移动,那么这将是一个解决方案:
for(int i = 1; i < array.Length; i++){
array[i-1] = array[i];
}
array[array.Length-1] = 0; // default value
答案 1 :(得分:1)
这可能会有所帮助:
//say you have array a1
var first_element = a1[0];
//now you can shift element_2 to position_1 without fear of
//loosing first_element
for(int i=0;i<a1.Length-1;i++)
{
a1[i] = a1[i+1];
}
//shift first_element to last place.
a1[a1.Length-1] = first_element;