算法--合并两个有序数组
来源:互联网 发布:windows mysqlsla 编辑:程序博客网 时间:2024/06/01 07:39
问题:合并两个有序数组。
思路:
1,定义一个新数组,长度是两个数组长度之和。
2,定义三个数组下标索引,用来对数组进行比较。
3,如果两个数组索引有一个小于其对应数组长度,则继续一直循环。
值进行交换。
4,一但一个有一个索引大于等于其数组长度了,则需要判断另一个数组还是否需要比较。
源代码:
public class hebingyouxu {public static void main(String[] args) { int [] x={1,3,6,8}; int [] y={4,5,6,7}; int [] newarray=mergeTwSorteArrayIntoOne(x,y); for(int t:newarray){ System.out.print(t); }}private static int[] mergeTwSorteArrayIntoOne(int[] x, int[] y) { // 定义新数组,长度为原数组的和 int [] newarray=new int[x.length+y.length]; //定义三个索引指向三个数组 int indexx=0; int indexy=0; int indexnew=0; //循环x,y每次取x,y中对应索引的值进行比较,小的放到新数组中,小的这个数组的索引++ while(indexx<x.length||indexy<y.length){ if(indexx>=x.length && indexy<y.length){ newarray[indexnew]=y[indexy]; indexy++; }else if(indexy>=y.length && indexx<x.length){ newarray[indexnew]=x[indexx]; indexx++; } else if(x[indexx]<y[indexy]){ newarray[indexnew]=x[indexx]; indexx++; }else{ newarray[indexnew]=y[indexy]; indexy++; } indexnew++; } return newarray;}
}
0 0
- 算法--合并两个有序数组
- 两个有序数组的合并算法
- 算法:两个有序数组的合并
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 两个有序数组合并
- 合并两个有序数组
- 两个有序数组合并成有序数组
- 基础算法之三: 合并两个有序数组
- 源码分析-Mybatis初始化过程
- The request sent by the client was syntactically incorrect
- 【视图】利用USER_TAB_MODIFICATIONS视图辅助监控表的增删改等操作
- $.ajax()方法详解
- Java中比较器 Comparator 的简单例子
- 算法--合并两个有序数组
- Spring中的用到的设计模式大全
- EventBus原理(哈哈偷了鸿洋大神的一句归纳)
- 取消windows下文件的默认打开方式
- 基于Node.js的微服务后台
- 使用 Python 操作 Evernote API
- 最近在用Qt Creator,把遇到的一点点小问题记在这里
- BCD码转十进制C语言实现
- 【Android代码片段之八】监听Android屏幕是否锁屏