- public class ArraySort {
- public static void main(String[] args) {
- int[] a = {1,3,4};
- int[] b = {2,3,5,6};
- int[] c = mergeArray(a, b);
- for(int n : c){
- System.out.print(n+" ");
- }
- }
- //合并数组
- public static int[] mergeArray(int[] a , int[] b){
- int result[] = new int[a.length + b.length];
- if(checkSort(a) && checkSort(b)){
- //说明ab数组都是有序的数组
- //定义两个游标
- int i=0,j=0,k=0;
- while(i<a.length && j<b.length){
- if(a[i] <= b[j]){
- result[k++] = a[i++];
- }else{
- result[k++] = b[j++];
- }
- }
- while(i < a.length){
- //说明a数组还有剩余
- result[k++] = a[i++];
- }
- while(j < b.length){
- result[k++] = b[j++];
- }
- }
- return result;
- }
- //检查一个数组是否是有序的
- // 1 2 3
- public static boolean checkSort(int[] a){
- boolean flag = false;//默认不是有序的
- for(int i=0;i<a.length-1;i++){
- if(a[i] > a[i+1]){
- //说明不是有序的
- flag = false;
- break;
- }else{
- flag = true;
- }
- }
- return flag;
- }
- }
合并有序数组
最新推荐文章于 2021-06-05 17:56:17 发布