两个有序数组合并为一个有序数组
来源:互联网 发布:南京装饰公司排名知乎 编辑:程序博客网 时间:2024/05/22 12:46
先依次比较两个数组,按照小的就传入新的数组。当这次比较完之后可能有一个数组的长度很长,留下一些数组,然后在新数组的末尾插入即可。
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 class ArraySort{ //两个有序数组的合并函数 public static int[] MergeList(int a[],int b[]) { int result[]; if(checkSort(a) && checkSort(b)) //检查传入的数组是否是有序的 { result = new int[a.length+b.length]; int i=0,j=0,k=0; //i:用于标示a数组 j:用来标示b数组 k:用来标示传入的数组 while(i<a.length && j<b.length) if(a[i] <= b[j]) { result[k++] = a[i++]; }else{ result[k++] = b[j++]; } /* 后面连个while循环是用来保证两个数组比较完之后剩下的一个数组里的元素能顺利传入 */ while(i < a.length) result[k++] = a[i++]; while(j < b.length) result[k++] = b[j++]; return result; } else { System.out.print("非有序数组,不可排序!"); return null; } } //检查数组是否是顺序存储的 public static boolean checkSort(int a[]) { boolean change = true; //这个标志位是一种优化程序的方法,可以看看我写的冒泡排序优化就会明白了 for(int i=0; i<a.length-1 && change; i++) { for(int j=i+1; j<a.length; j++) if(a[j-1] > a[j]) return false; else change = false; } return true; } // 打印函数 public static void print(int b[]) { for(int i=0; i<b.length ; i++) { System.out.print(b[i] + (i%10 ==9 ? "\n":"\t")); } } public static void main(String args[]) { int a[]={1,2,2,3,5,6,7,7}; int b[]={1,2,4,5,8,8,9,10,11,12,12,13,14}; int c[]= MergeList(a,b); if(c!=null) print(c); else System.out.println(""); }}
阅读全文
1 0
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组为一个新的有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 基于R语言的Kaggle案例分析学习笔记(一)
- 懒人读算法(十)-区间总结
- MySQL-索引可能失效场景
- 微分-跟踪器(tracking
- Openstack容器化部署研究之:Kolla离线制作Openstack服务的Docker容器镜像
- 两个有序数组合并为一个有序数组
- Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片
- 七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)
- 给定一个有序的链表或者数组,构造一棵二叉搜索树
- npm install 安装phantomjs时npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.15
- proxy思考
- 为大概率坚持,为小概率备份
- Caffe均值文件mean.binaryproto转mean.npy
- js正则表达式验证密码强度,必须包含数字,大写字母,小写字母,特殊字符四选三