如何 array 里面 找 array

startstartsvip 2007-07-05 03:51:27
大家好

大概这样的方程用两个array参数:targetarray,lookingfroarray,返回第二个在第一个里面的index?

index= findmyindex(targetarray,lookingfroarray);


有没有写好的class 或者方法 ?
...全文
208 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2007-07-24
  • 打赏
  • 举报
回复
public int ArraySearch(Array AArray, Array ASubArray)
{
if (AArray == null || ASubArray == null) return -1;
if (AArray.GetType() != ASubArray.GetType()) return -1;
if (ASubArray.Length <= 0) return -1;
int i = 0;
for (int j = 0; j < AArray.Length; j++)
{
if (i >= ASubArray.Length - 1) return j - ASubArray.Length + 1;
if (AArray.GetValue(j).Equals(ASubArray.GetValue(i)))
i++;
else i = 0;
}
return -1;
}

private void button1_Click(object sender, EventArgs e)
{
int[] ia = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] ib = new int[] { 1, 2, 3 };
Console.WriteLine(ArraySearch(ia, ib)); // 1
char[] ca = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
char[] cb = new char[] { '8', '9'};
Console.WriteLine(ArraySearch(ca, cb)); // 8
}
xbt746 2007-07-24
  • 打赏
  • 举报
回复
就是一个数组是否包含另一个数组的所有元素吧
这样描述应该比较清晰吧,呵呵
楼主的array里的字母顺序是随机的吧
startstartsvip 2007-07-24
  • 打赏
  • 举报
回复
我先试一试
whjeffrey 2007-07-22
  • 打赏
  • 举报
回复
建议楼主:使用 hashtable 或 索引器 是明智的选择!
因为你提出的是关于查询的问题,关于查询最好能设立键(key),根据键来查询值!

1.hashtable 能根据 key 的值来访问 value 存放的对象。
key=index value=targetArray

2.使用索引器示例。
public class TargetArray
{
private int _Name;
private string _Pwd;
public int Name
{
get{return _Name;}
set{_Name = value;}
}
public string Pwd
{
get{return _Pwd;}
set{_Pwd = value;}
}
}
public class LookingForArray
{
private ArrayList arr = new ArrayList();
public void Add(TargetArray pTA)
{
arr.Add(pTA);
}
//Update,Delete,Remove,Clear等方法省略,请自己写完
public TargetArray this[int index]
{
get{return (TargetArray)arr[index];}
}
}
windboyzsj 2007-07-22
  • 打赏
  • 举报
回复
笨点的方法, 只能遍历,比较,计数
startstartsvip 2007-07-22
  • 打赏
  • 举报
回复
啊?

是这样的 我有一个 数组 ,大概 里面有很多的元素, 然后 有另外 一个数组,长度不定,想从第一个数组里面 找到第二个数组,index

比如
array1 {a,e,b,c,e,g,s,g,s,g,e,r,t,g,h,r,m,e,e,s,g,e,d,p}
array2 {m,e}

想找到 array2 (长度不定)在 array1 中的位置,
Jinglecat 2007-07-22
  • 打赏
  • 举报
回复
偶看不懂
zh-wall-e 2007-07-22
  • 打赏
  • 举报
回复
原谅偶的智商。。

能不能再说清楚那么一点点。。。。
startstartsvip 2007-07-22
  • 打赏
  • 举报
回复
就是想在一个 array 里面 找到另外一个 array 的 index
startstartsvip 2007-07-22
  • 打赏
  • 举报
回复
up

110,566

社区成员

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

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

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