请教个算法问题!

kangqing2003 2006-04-10 10:15:30
有一个整型数组A里面存了2,3两个数,另外一个数组B存了1,2,3,4,5,6六个数。 要将A里面不存在的B中的元素放到数组C中,该如何来实现呢?
...全文
133 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangqing2003 2006-04-11
  • 打赏
  • 举报
回复
嗯! 谢谢各位了啊
serversql 2006-04-10
  • 打赏
  • 举报
回复
System.Collections.ArrayList a = new System.Collections.ArrayList();
a.Add(2);
a.Add(3);
System.Collections.ArrayList b = new System.Collections.ArrayList();
b.Add(1);
b.Add(2);
b.Add(3);
b.Add(4);
b.Add(5);
b.Add(6);
System.Collections.ArrayList c = new System.Collections.ArrayList();
for(int i=0;i<b.Count;i++)
{
if(!a.Contains(b[i]))
{
c.Add(b[i]);
}
}
duguguiyu1984 2006-04-10
  • 打赏
  • 举报
回复
如果你用ArrayList只要一个循环。另一个用ArrayList带的函数来判断(其实也相当于两次循环,只不过估计ArrayList会优化)。
sweig0721 2006-04-10
  • 打赏
  • 举报
回复
只要兩個FOR循環就可以了.
yecong 2006-04-10
  • 打赏
  • 举报
回复
上面的又错了,应该写两个函数,不过不想写了
yecong 2006-04-10
  • 打赏
  • 举报
回复
上面的错了
int c = 0;
for ( int b = 0; b < B.Length; b++ )
{
for ( int a = 0; a < A.Length; a++ )
{
if ( B[b] == A[a] )
{
break;
}
}
C[c++] = B[b]; // 这句得放这
}
yecong 2006-04-10
  • 打赏
  • 举报
回复
int c = 0;
for ( int b = 0; b < B.Length; b++ )
{
for ( int a = 0; a < A.Length; a++ )
{
if ( B[b] == A[a] )
{
break;
}
C[c++] = B[b];
}
}
止戈而立 2006-04-10
  • 打赏
  • 举报
回复
一次循环就够了。。。

把B循环一遍,看B中的数是否存在A 中就可以了。。
diasuler 2006-04-10
  • 打赏
  • 举报
回复
for ( int i = ArrayA.GetLowerBound(0); i <= ArrayA.GetUpperBound(0); i++ )
{
for ( int j = ArrayB.GetLowerBound(0); j<= ArrayB.GetUpperBound(0); j++ )
{
if (ArrayA(i)==ArrayB(j))
{
//copyto c
}
}
}
Muf 2006-04-10
  • 打赏
  • 举报
回复
int[] a = { 2, 3, 5, 9 };
int[] b = { 1, 2, 4, 6 };

int[] c = Array.FindAll(a, delegate(int v) { return Array.IndexOf(b, v) < b.GetLowerBound(0); });

111,096

社区成员

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

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

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