void MoveSubArrayToTheEnd(int[] array, int numberOfElements)
{
int l=array.Length, n=numberOfElements%l, temp=0;
for (int i=0, x=0, y=0; i<l; i++, y+=n, x=(x-n+(y%l+l-1)/l-1+l)%l)
{
int t = array[x];
array[x] = y%l==0? array[(x+n)%l] : temp;
temp = t;
}
}
{
int l=array.Length, n=numberOfElements%l, temp=0;
for (int i=0, x=0, y=0; i<l; i++, y+=n, x=(x-n+(y%l+l-1)/l-1+l)%l)
{
int t = array[x];
array[x] = y%l==0? array[(x+n)%l] : temp;
temp = t;
}
}
解决方案 »
- 如何在Form1.CS中点一个按钮,使Form2显示
- 控件中DataGridView自动保存及数据导航问题
- 求教c#下的COM+的数据保存问题,希望各位高手帮助
- VSTO开发Excel自定义公式的问题
- 能到处拖动的工具条用的是什么控件?
- 高手解答!!!
- 大家来帮助大家,如何隐藏ListView的滚动条,同时还能完成List的滚动功能
- 关于 Convert.ToDouble 输入字符串的格式不正确
- C#如何控制word某段文字隐藏或显示
- 急!!!C# UDP通信,OutOfMemoryException异常,求高手!
- C#异步发送邮件 SendAsync(..)方法
- 谁能提供点winform C#做外挂的教程,简单的就可以
int[] MoveSubArrayToTheEnd2(int[] array, int n)
{
n = n % array.Length;
int[] ary = new int[array.Length];
for (int i = n ; i < array.Length; i++)
{
ary[i-n] = array[i];
}
for (int i = 0; i < n; i++)
{
ary[n+i] = array[i];
}
return ary;
}