我想要问一个算法,请高手们指教!~~~

lc412211 2009-01-10 08:34:53
现在有一个点的数组,我想按照一定的规则取当中的点存到另一个数组里面

例如:第一个点和第二点进行比较,如果满足条件,两个点都存到新数组里面,然后第二点和第三个点进行比较,如果不满足条件

第二个点再和第四个点进行比较,满足条件存,不满足再和下一个点比较。已此类推!~~

这个算法我没想出来,请各位帮忙想想,谢谢啦
...全文
70 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
止戈而立 2009-01-10
  • 打赏
  • 举报
回复
Try....

Point[] ps=......;
ArrayList lis;
for(int i=0;i<ps.Length;i++)
{
int pos=i+1;
while(pos<ps.Length&&ps[i]和ps[pos]比较不成立)
{
pos++;
}
if(pos==ps.Length) break;
list.Add(ps[i]);
if(!list.Contains(ps[i+1])) list.Add(ps[i+1]);
}
niitnanfeng 2009-01-10
  • 打赏
  • 举报
回复
lc412211 2009-01-10
  • 打赏
  • 举报
回复
不知道说明白没有!~~~-_-
superliu1122 2009-01-10
  • 打赏
  • 举报
回复

int size = 100;
object[] array = new object[size];
object[] result = new object[size];
//初始化
int pos = 1, j = 0,count = 0;
object obj = array[0];
while (pos < size)
{
if(判断条件(obj,array[pos]))
{
result[count++] = obj;
result[count++] = array[pos];
if(pos >= size - 1)
{
break;
} else
{
obj = array[pos + 1];
pos+=2;
}
} else
{
pos++;
}
}

可能出现最后一个元素没有东西和他比较的情况
lc412211 2009-01-10
  • 打赏
  • 举报
回复
输出就是返回那个新数据就行啦。。。其实就是按照规则取第一个数组中的点,存到第二个数组里面,返回第二个数组。。
wuyi8808 2009-01-10
  • 打赏
  • 举报
回复
foreach (Point p in ...)
{
...
}
王集鹄 2009-01-10
  • 打赏
  • 举报
回复
输入,输出样例?
lc412211 2009-01-10
  • 打赏
  • 举报
回复
我就是不知道这个循环该怎么写!~~~
vrhero 2009-01-10
  • 打赏
  • 举报
回复
条件不明,只有循环...还能有什么算法...

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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