分别取出数组str1和数组str2中的相同字符窜,并把结果放入一数组中。。

解决方案 »

  1.   

    str1[]={"1","2","3","4","5"};
    str2[]={"2","3","6","8"};
    取出上面相同的值并放入一数组中
      

  2.   

    假设两个数组的长度分别为 m 和 n。双重循环是最简单的,但效率很低,在数组不大时可以使用。效率是 O(m*n)。如果数组比较大,可以先对两个数组排序,然后用一个单循环根据顺序依次增加两个数组的下标就可以了,效率比较高。效率是 O(m+n)。
      

  3.   

    第一种方法(双重循环,笨办法):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);          // 输出结果
        }
      }
    }
    /* 程序输出:
    2
    3
    */
      

  4.   

    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;
    }
      

  5.   

    第二种方法(单循环,高效率的方法):
    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
    */
      

  6.   

    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