经典算法之数组合并
前言
就算法而言,我们主要学习的是数学+思维+逻辑+数据结构实现功能,所以我们主要学习是思维也是解决问题的思路,然后用逻辑去实现它。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是数组合并?
就是将两个数组合并成一个数组进行显示,并进行排序。
二、代码实现
1.实现
package com.zrrd.lianxi;
public class 数组合并 {
public static void main(String[] args) {
int[] arr={1,7,9,11,13,15,17,19};
int[] arr1={2,4,6,8,10};
//对arr,arr1数组进行合并
int[] ints = shuRu(arr, arr1);
//遍历
bianLi(ints);
System.out.println();
//进行排序,升序
maoPao(ints);
//遍历输出
bianLi(ints);
System.out.println();
}
//传入2个数组合并,返回一个新的数组
public static int[] shuRu(int[] arr,int[] arr1){
//创建新的数组arr2
int[] arr2=new int[arr.length+arr1.length];
//将arr数组进行遍历,赋值给arr2新数组
for(int i=0;i<arr.length;i++){
arr2[i]=arr[i]; //赋值给新数组
}
//循环arr1数组遍历,并赋值
for(int i=0;i<arr1.length;i++){
//新的数组长度是13,arr数组已经给新数组arr2赋值啦,所以要从第arr2的第8位开始
arr2[arr.length+i]=arr1[i];
}
return arr2;
}
//对数进行遍历
public static void bianLi(int[] arr2){
for(int i=0;i<arr2.length;i++){
System.out.print(arr2[i]+"\t");
}
}
//冒泡排序对新数组进行升序
public static void maoPao(int[] arr2){
for(int i=0;i<arr2.length-1;i++){
for(int j=0;j<arr2.length-1-i;j++){
if(arr2[j]>arr2[j+1]){
int tem=arr2[j+1];
arr2[j+1]=arr2[j];
arr2[j]=tem;
}
}
}
}
}
2.效果截图
总结
具体实现逻辑及方式已在代码注释中详细解答。