(很急)怎样取出两个字符窜数组中相同的数据,并放入一数组中??? 分别取出数组str1和数组str2中的相同字符窜,并把结果放入一数组中。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 str1[]={"1","2","3","4","5"};str2[]={"2","3","6","8"};取出上面相同的值并放入一数组中 假设两个数组的长度分别为 m 和 n。双重循环是最简单的,但效率很低,在数组不大时可以使用。效率是 O(m*n)。如果数组比较大,可以先对两个数组排序,然后用一个单循环根据顺序依次增加两个数组的下标就可以了,效率比较高。效率是 O(m+n)。 第一种方法(双重循环,笨办法):using System;using System.Collections.Generic;class Program{ static void Main() { string[] str1 = {"1","2","3","4","5"}; string[] str2 = {"2","3","6","8"}; List<string> list = new List<string>(); foreach (string s in str1) { foreach (string t in str2) { if (s == t) { list.Add(s); } } } string[] str3 = list.ToArray(); // 即为所求 foreach (string s in str3) { Console.WriteLine(s); // 输出结果 } }}/* 程序输出:23*/ public string reg() { string[] arr={"1","2","3","4","5"}; string[] arr2={"2","3","6","8"}; string a=""; string n=""; for(int i=0;i<arr.Length-1;arr++) { a=arr[i]; for(int j;j<arr2.Length-1;j++) { if(a==arr2[j]) n+=a; } } return n; } 第二种方法(单循环,高效率的方法):using System;using System.Collections.Generic;class Program{ static void Main() { string[] str1 = {"1","2","3","4","5"}; string[] str2 = {"2","3","6","8"}; Array.Sort(str1); Array.Sort(str2); List<string> list = new List<string>(); for (int i = 0, j = 0; i < str1.Length && j < str2.Length;) { if (str1[i] == str2[j]) { list.Add(str1[i]); i++; j++; } else if (string.Compare(str1[i], str2[j]) < 0) { i++; } else { j++; } } string[] str3 = list.ToArray(); // 即为所求 foreach (string s in str3) { Console.WriteLine(s); // 输出结果 } }}/* 程序输出:23*/ using System.Collections; protected void Page_Load(object sender, EventArgs e) { string[] str1 = {"1","2","3","4","5"}; string[] str2 = {"2","3","6","8"}; ArrayList al=new ArrayList(); for(int i=0;i<str1.Length;i++) { for(int j=0;j<str2.Length;j++) { if(str1[i]==str2[j]) { al.Add(str1[i].ToString()); } } } foreach(string item in al) { Response.Write(item+" "); }}输出结果 2 3 aspx页面调用自定义js函数的问题 第三方控件收费问题 url跳转的,急 这个问题怎么如此怪异? 忙了N个人月,总算看到点成果,请多提意见,洗耳恭听中 紧急求助SqlDataReader读取数据出错!!!!!!! 能否给checkboxlist加验证控件?如果不能,通过怎样的方法能实现验证checkboxlist? 用.net怎样得到 NTFS 文件夹的“安全”属性页中的信息,并对之授权?? 关于默认按钮的问题 datagird问题? 如何在globla.asax文件中判断用户身份? 求一个用DIV+CSS+JS的导航二级菜单(要横向的)!
str2[]={"2","3","6","8"};
取出上面相同的值并放入一数组中
using System.Collections.Generic;class Program
{
static void Main()
{
string[] str1 = {"1","2","3","4","5"};
string[] str2 = {"2","3","6","8"};
List<string> list = new List<string>();
foreach (string s in str1)
{
foreach (string t in str2)
{
if (s == t)
{
list.Add(s);
}
}
}
string[] str3 = list.ToArray(); // 即为所求
foreach (string s in str3)
{
Console.WriteLine(s); // 输出结果
}
}
}
/* 程序输出:
2
3
*/
{
string[] arr={"1","2","3","4","5"};
string[] arr2={"2","3","6","8"};
string a="";
string n="";
for(int i=0;i<arr.Length-1;arr++)
{
a=arr[i];
for(int j;j<arr2.Length-1;j++)
{
if(a==arr2[j])
n+=a;
}
}
return n;
}
using System;
using System.Collections.Generic;class Program
{
static void Main()
{
string[] str1 = {"1","2","3","4","5"};
string[] str2 = {"2","3","6","8"};
Array.Sort(str1);
Array.Sort(str2);
List<string> list = new List<string>();
for (int i = 0, j = 0; i < str1.Length && j < str2.Length;)
{
if (str1[i] == str2[j])
{
list.Add(str1[i]);
i++;
j++;
}
else if (string.Compare(str1[i], str2[j]) < 0)
{
i++;
}
else
{
j++;
}
}
string[] str3 = list.ToArray(); // 即为所求
foreach (string s in str3)
{
Console.WriteLine(s); // 输出结果
}
}
}
/* 程序输出:
2
3
*/
protected void Page_Load(object sender, EventArgs e)
{
string[] str1 = {"1","2","3","4","5"};
string[] str2 = {"2","3","6","8"};
ArrayList al=new ArrayList();
for(int i=0;i<str1.Length;i++)
{
for(int j=0;j<str2.Length;j++)
{
if(str1[i]==str2[j])
{
al.Add(str1[i].ToString());
}
}
}
foreach(string item in al)
{
Response.Write(item+" ");
}
}输出结果 2 3