小算法:合并两个有序数组,合并之后仍然有序

 

 1 /**
 2      * 合并两个有序数组,合并后仍然有序
 3      * @param a 要合并的数组A
 4      * @param b 要合并的数组B
 5      * @param c 合并后的数组C
 6      */
 7     public static void merge(int a[] ,int b[],int c[]){
 8         int lengthA = a.length;
 9         int lengthB = b.length;
10         
11         int indexA = 0;
12         int indexB = 0;
13         int indexC = 0;
14         
15         while(indexA < lengthA && indexB < lengthB){
16             if(a[indexA] < b[indexB]){
17                 c[indexC++] = a[indexA++];
18             }else{                
19                 c[indexC++] = b[indexB++];
20             }
21         }
22         
23         while(indexA < lengthA){
24             c[indexC++] = a[indexA++];            
25         }
26         while (indexB < lengthB) {
27             c[indexC++] = b[indexB++];            
28         }
29     }

 

posted on 2014-07-09 22:55  wangwangheng  阅读(3849)  评论(1编辑  收藏  举报