合并两个有序序列
原创
©著作权归作者所有:来自51CTO博客作者蓝枫居士的原创作品,请联系作者获取转载授权,否则将追究法律责任
将两个有序的数列,合并成一个有序的序列
package toyprogram;
/**
* This class is used for ...
*
* @author dlf(460795365@qq.com)
* @version 1.0, 2016年9月13日 下午3:39:42
*/
public class AboutArrayl {
public static void main(String[] args) {
int[] a={1,4,6,9,22};
int[] b={3,7};
int[] c=mergetTwoSortedArray(a,b);
for(int i=0;i<c.length;i++)
System.out.print(c[i]+" ");
}
/**
* @param a
* @param b
* @return
*/
private static int[] mergetTwoSortedArray(int[] a, int[] b) {
int[] c=new int[a.length+b.length];
int i=0,j=0;
int k=0;
while(i<a.length&&j<b.length)
if (a[i]<b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
while (i<a.length)
c[k++]=a[i++];
while(j<b.length)
c[k++]=b[j++];
return c;
}
}
写完这个之后,我忽然想到如果不允许申请额外空间,那这个题怎么解决?
上面的要求可以理解为合并两个有序的链表,且不申请额外空间