合并两个有序序列
2016-09-13 18:36
239 查看
将两个有序的数列,合并成一个有序的序列
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;
}
}
写完这个之后,我忽然想到如果不允许申请额外空间,那这个题怎么解决?
上面的要求可以理解为合并两个有序的链表,且不申请额外空间
我就不写代码了,大家看
http://www.cnblogs.com/zhizhan/p/5847044.html
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;
}
}
写完这个之后,我忽然想到如果不允许申请额外空间,那这个题怎么解决?
上面的要求可以理解为合并两个有序的链表,且不申请额外空间
我就不写代码了,大家看
http://www.cnblogs.com/zhizhan/p/5847044.html
相关文章推荐
- 2-11. 两个有序链表序列的合并(15)
- 02-线性结构1 两个有序链表序列的合并
- 求两个有序序列合并成新有序序列的中位数,求第k小数
- merge two sorted lists, 合并两个有序序列
- 合并两个有序序列
- 02-线性结构1 两个有序链表序列的合并 (15分)
- PTA-两个有序链表序列的合并
- [PTA] 线性结构1 两个有序链表序列的合并(15 分)
- 两个有序链表序列的合并
- PTA-线性结构1 两个有序链表序列的合并
- Programming Ability Test学习 2-11. 两个有序链表序列的合并(15)
- 两个有序链表序列的合并 PAT
- 两个有序链表序列的合并
- 7-15 两个有序链表序列的合并(20 分)
- PATl两个有序链表序列的合并
- 数据结构 02-线性结构1 两个有序链表序列的合并
- 两个有序链表序列的合并
- PAT 2-11 两个有序链表序列的合并(C语言实现)
- 02-线性结构1 两个有序链表序列的合并(15 point(s)) 【链表合并】
- [数据结构]02-线性结构1 两个有序链表序列的合并