(高手请帮忙!!)求教算法!!

Nicholasqpl 2003-08-21 12:05:16
有一个int型的数组是1,2,3,4,5,6,7,8,9,10。
要遍立这个数组取的数组第三个数(例如,3,6,9)然后把数组中的值向前移,然后再遍立这个只有七个数的数组,再取这个数组的第三个数,依此类推,直到取得最后一个数为止。然后,放在另一个int型的数组中显示。(万分感激!!)
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyee 2003-08-21
  • 打赏
  • 举报
回复
数组怎么操作忘了, 好像是C的东东

简单点, 用ArrayList实现, 你看要不要吧

int[] ints = new int[]{1,2,3,4,5,6,7,8,9,10};
ArrayList list1 = new ArrayList();
for(int i = 0; i < ints.Length; i ++)
{
list1.Add(ints[i]);
}
ArrayList list = new ArrayList();
int intResult = ChageIt(ref list1, ref list);
while(intResult == 1)
{
intResult = ChageIt(ref list1, ref list);
}
MessageBox.Show(list.Count.ToString());




private int ChageIt(ref ArrayList list1, ref ArrayList list)
{
//指示此次有几个数要被删除
int j = 0;
//存储要被删除的数的索引
int[] iSub = new int[3]{-1,-1,-1};
if(list1.Count >= 3)
{
for(int i = 2; i < list1.Count; i +=3)
{

list.Add(list1[i]); //是3,6,9的,被加到第二个数组中
iSub[j] = (int)list1[i]; //记录要删除的索引号
j ++;
if(j == 3)
break;
}
for(int i = 2; i >= 0; i --) //删除list1中指定的数
{
if(iSub[i] != -1)
list1.Remove(iSub[i]);
}
}
else
return -1;

return 1;
}


saucer 2003-08-21
  • 打赏
  • 举报
回复
when 这个数组 has less than 3 elements, how could 再取这个数组的第三个数???
Nicholasqpl 2003-08-21
  • 打赏
  • 举报
回复
老兄,怎么运行起来是个死循环啊???

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧