数据结构-合并两个已经排序的数组

Posted 初めてのデート

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-合并两个已经排序的数组相关的知识,希望对你有一定的参考价值。

合并两个已经排序的数组

 1 /// <summary>
 2         /// 合并两个已经排序的数组
 3         /// </summary>
 4         /// <param name="arr1"></param>
 5         /// <param name="arr2"></param>
 6         public static void MergeSortedArray(int[] arr1,int[] arr2)
 7         {
 8             List<int> list = new List<int>();
 9             int i = 0;
10             int j = 0;
11             do
12             {
13                 if (arr1[i] < arr2[j])
14                 {
15                     list.Add(arr1[i]);
16                     i++;
17                 }
18                 else if (arr1[i] == arr2[j])
19                 {
20                     list.Add(arr1[i]);
21                     list.Add(arr2[j]);
22                     i++;
23                     j++;
24                 }
25                 else if (arr1[i] > arr2[j])
26                 {
27                     list.Add(arr2[j]);
28                     j++;
29                 }
30             }
31             while (i < arr1.Length && j < arr2.Length);
32             //如果有的数组还没有添加结束,就将剩下的元素都添加到新集合中;
33             if(i<arr1.Length)
34             {
35                 for(;i<arr1.Length;i++)
36                 {
37                     list.Add(arr1[i]);
38                 }
39             }
40             else if (j < arr2.Length)
41             {
42                 for (; j < arr2.Length; j++)
43                 {
44                     list.Add(arr2[j]);
45                 }
46             }
47 
48             foreach(var item in list)
49             {
50                 Console.WriteLine(item+",");
51             }
52             Console.ReadKey();
53         }

 

以上是关于数据结构-合并两个已经排序的数组的主要内容,如果未能解决你的问题,请参考以下文章

合并排序,将两个已经排序的数组合并成一个数组

15个使用频率极高的基础算法题(附完整代码)

合并排序数组(简单)

使用没有第三个数组的递归合并两个排序数组

归并排序

从两个排序数组中获取前 K 项而不合并它们