如何合并两个数组并使其排序,这就是它

时间:2016-08-14 15:17:52

标签: c# visual-c++

我目前正在寻找如何使用类和对象对数组进行排序以及如何在主函数中使用它而不是" Array.Sort();",我想使用自己的创建排序函数而不是使用Array.Sort(arr)函数

        int[] arr1 = new int[5] { 2, 5, 1, 7, 4 };//1st array declared
        int[] arr2 = new int[5] { 10, 16, 13, 17, 15 };
        int[] arr3 = new int[10];
        int k = 0;
        Console.WriteLine("First Array: ");
        for(int i=0;i<arr1.Length;i++)
        {
            Console.Write(" "+arr1[i]+" ");
        }

        Console.WriteLine("\nSecond Array: ");
        for(int x=0;x<arr2.Length;x++)
        {
            Console.Write(" " + arr2[x] + " ");
        }
        Console.WriteLine();

        Console.WriteLine("--------------MERGED ARRAY-------------");
        for (int i = 0; i < arr3.Length;i++)
        {
            if(i<arr1.Length)
            {

                arr3[i] = arr1[i];//Array 1 has been Stored in a new Array

            }
            else if (i >= arr1.Length)
            {

                arr3[i] = arr2[k];  //Array 2 has been Stored in a new Array                  
                k++;
            }
                Console.Write(" "+ arr3[i]+" ");


        }
        Console.WriteLine();
        Console.WriteLine("\n\n--------------------After Sorting---------------------");
        Array.Sort(arr3);//Sorting The merged Array
        foreach (int mainArr in arr3)
        {
            Console.Write(mainArr);
            Console.Write("  ");
        }
        Console.ReadKey();

     }

希望这也会有所帮助。

2 个答案:

答案 0 :(得分:0)

你写的代码太多了,你可以简单地使用Linq:

@propert (assign, nonatomic) id <MyDelegate> delegate;

答案 1 :(得分:0)

有很多排序算法,我编写了一个伪代码,很容易转换为C#(给你一些工作)一个非常简单的算法,它基本上寻找最小的元素并把它放在左边:

declare min = 0, i, k

for i=0 to array length

   for k=i+1 to array length

   if array[k] < array[i] then
     swap array[i] , array[k]


--------------------

swap a,b:

declare temp =  a

a=b

b=temp
祝你好运!