Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >随机数组归并问题

随机数组归并问题

作者头像
算法与编程之美
发布于 2023-08-22 06:22:08
发布于 2023-08-22 06:22:08
1450
举报

1 问题

生成两个任意的随机数组,并将这两个数组按照数字大小按顺序归并到一个新数组中。

2 方法

思路:定义三个数组,两个数组自己输入值,第三个数组用来作归并后的数组,先将两个数组的值全部赋给第三个数组,然后将其进行排序输出。

(1)先定义三个数组

(2)给两个数组赋值

(3)给新数组赋值

(4)给新数组排序,并输出最终结果

package Practice1;import java.util.Arrays;import java.util.Random;import java.util.Scanner;public class Practice2{ public static void main(String[] args) { int[] arr1=new int[5]; int[] arr2=new int[5]; int[] New=new int[10]; Scanner scanner=new Scanner(System.in); System.out.print("请给第一个数组赋值,最多"+arr1.length+"个,以空格隔开:"); for(int i=0;i<arr1.length;i++) { arr1[i]=scanner.nextInt(); } System.out.println("第一个数组:"+Arrays.toString(arr1)); System.out.println("-------------------------------------------------"); System.out.print("请给第二个数组赋值,最多"+arr2.length+"个,以空格隔开:"); for(int i=0;i<arr2.length;i++) { arr2[i]=scanner.nextInt(); } System.out.println("第二个数组:"+Arrays.toString(arr2)); System.out.println("-------------------------------------------------"); for(int i=0;i<New.length;i++) { if(i<arr1.length) New[i]=arr1[i]; if(i>=arr1.length) { New[i]=arr2[i-5]; } } for(int i=0;i<New.length-1;i++) { for(int j=0;j<New.length-1-i;j++) { if(New[j]>New[j+1]) { int tmp=New[j]; New[j]=New[j+1]; New[j+1]=tmp; } } } //输出最终结果数组 System.out.println("排序后的新数组:"+Arrays.toString(New)); }}

3 结语

针对随机数组归并问题,提出冒泡排序方法。通过本次实验,证明该方法是有效的,除了本文的方法外还可使用递归来解决此问题。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java 数组
数组是一种数据结构,可以存储多个相同类型的元素;在Java中,数组是一种对象,它可以存储基本数据类型和对象类型。
久绊A
2023/03/24
1.2K0
Java之数组
数组概述 数组是具有相同数据类型的一组数据的集合。数组中的每个元素具有相同的数据类型。数组的长度是固定的。在Java中同样将数组看作是一个对象,虽然基本数据类型不是对象,但是由基本数据类型组成的数组则是对象。在程序设计中引入数组可以更有效地管理和处理数据。可根据数组的维数将数组分为一维数组、二维数组…… 数组的创建 int[] arr1={0,1,2}; int arr2[]={0,1,2}; int[] arr3=new int[3]; in
二十三年蝉
2018/02/27
8630
Java之数组
SmallSum-归并排序-小和问题(逆序对)
例如:数组[4,2,5,1,7,3,6] 第一个元素4比2大,不算小和,5比4和2都大,那就是4+2=6;1比4和2和5都小,不算小和;7比前面的都大,那就是上次小和6+4+2+5+1=18;然后3前面比2和1大,那就是18+2+1=21;最后6比4、2、5、1、3都大,结果就是21+4+2+5+1+3=36。那么最后的结果就是36。
sr
2018/08/20
5220
一篇文章搞定Java数组初始化,从此告别迷惑
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/01/18
5942
一篇文章搞定Java数组初始化,从此告别迷惑
Java 数组、排序和查找
# Java 数组、排序和查找 # 为什么需要数组 一个养鸡场有 6 只鸡,它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平 均体重是多少? 请
用户9615083
2022/12/25
1.9K0
Java 数组、排序和查找
Banner——第一阶段考核
1.中国朋友们聚会时喜欢玩"逢7过"的游戏,老外有个同样的游戏,FlipFlop,它从1计数到100,顺序输出。当遇到3的倍数就要说“Flip”,遇到5的倍数就要说“Flop”,既为3的倍数又为5的倍数则要说“FlipFlop”,说错的话表演节目或罚酒。 public class Test1 { public static void main(String[] args) { for(int i=1;i<=100;i++) { if
传说之下的花儿
2023/04/16
1660
Banner——第一阶段考核
干货 | 手撕十大经典排序算法
当然,学算法是件相对枯燥的事情,不过,当你懂得算法这种思路之后,你会发现,算法真的是一个很神奇的东西,而且,算法引出的思想非常重要!!所以,千羽也会不断的学习死磕算法系列文章,和大家一起学习,一起进步。这篇文章主要讲解十大经典排序算法。话不多说,冲冲冲!
千羽
2021/12/29
4840
干货 | 手撕十大经典排序算法
合并两个有序数组
1,顺序排序,需要额外创建一个数组大小为m+n,然后比较A与B,遍历填充进新数组。然后把数组再次填充回A里面,所以次数为2*(m+n),当m+n趋于无穷大时,2就被忽略了,时间复杂度为O(m+n),空间复杂度为O(m+n)
忧愁的chafry
2022/10/30
1.5K0
合并两个有序数组
数组的基本操作案例演示
将 int[] arr1 = {10,20,30}; 拷贝到 arr2 数组, 要求数据空间是独立的。
zxmttkx
2022/12/02
2660
数组的基本操作案例演示
那些年,我们一起做过的 Java 课后练习题(31 - 35)
输入一个整数,然后将其转换为字符串,然后遍历输出从右端开始的 4 ~ 7 位即可!
村雨遥
2022/06/15
2690
那些年,我们一起做过的 Java 课后练习题(31 - 35)
那些年,我们一起做过的 Java 课后练习题(26 - 30)
输入星期几的第一个字母来判断一下是星期几,若第一个字母一样,则继续判断第二个字母。
村雨遥
2022/06/15
3180
那些年,我们一起做过的 Java 课后练习题(26 - 30)
【JavaSE学习】 Day3 数组
  本次文章讲述的是JavaSE数组的使用,讲述一维数组、二维数组创建和使用、常见数组操作和使用、Arrays工具类的使用、数组的常见异常。
小小程序员
2023/02/24
2040
【JavaSE学习】 Day3 数组
数组的初始化及其基本属性
第一种:数据类型[] 数组名 = new 数据类型[数据长度];(动态初始化过程) int[] arr = new int [5]; 第二种:数据类型 数组名[] = {数据1,数据2,数据3……};(静态初始化过程) int arr[] = {1,2,3,4,5}; 动态初始化:我们自己指定了数组长度,系统会自动开辟相应的内存空间,并且给所有位置分配一个默认值。 静态初始化:我们在初始化开始就给定了数组值,系统会根据值的数量,开辟内存空,所以不需要我们指定数组长度。 静态对象还可以用在匿名对象上(参考面向对象的匿名对象)
全栈程序员站长
2022/09/07
4530
基础算法篇——归并排序
基础算法篇——归并排序 本次我们介绍基础算法中的快速排序,我们会从下面几个角度来介绍快速排序: 归并排序思想 归并排序代码 归并排序拓展 归并排序思想 我们首先来介绍归并排序思想(分治思想): 确定分界点 我们首先确定整个数组的分界点 以我们的习惯而言还是以arr[l],arr[r],arr[(r+l)/2]为分界点 递归排序 我们首先需要将数组分界点两侧进行分组,这时他们会划分为左侧和右侧 我们再对已经划分的左侧和右侧进行分界点分组,这时就会划分为4个分组 依次类推,直到每个分组数为1时结束分组,然后我们
秋落雨微凉
2022/11/14
2760
复杂度估算和一些简单排序算法
常数时间的操作:一个操作如果和数据量没有关系,每次都是固定的时间内完成的操作,叫做常数操作。
用户5513909
2023/04/25
1960
【JAVA基础&高级】 数组篇
在实际开发当中我们更多的会使用集合来代替数组,但是集合的底层也是基于数组来实现的,所以花了一些时间对数组的知识点进行了复习巩固,并在此对一些知识点进行记录。
LCyee
2020/08/10
3430
【JAVA基础&高级】 数组篇
JAVA入门学习五
Scanner的概述:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串,以默认空格作为分割。 Scanner的构造方法原理:
全栈工程师修炼指南
2020/10/23
5620
JAVA入门学习五
java中数组遍历的三种方式
通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。
全栈程序员站长
2022/09/05
1.3K0
Java基础-数组
前两篇介绍了Java的数据类型和流程控制,现在来讲一下Java的数组,作为一种引用类型,也是非常常见和常用的。这次的知识框架如下所示。
reload
2024/01/16
2560
Java基础-数组
Java--十大排序算法
思想:两个相邻元素想比较,不断颠倒位置实现【i,不停的使arr.length-i-1内的最大数的放最后】 -如果数组的最大值刚好是在第一位,要将它挪到正确的位置就需要 n - 1 次移动
司六米希
2022/11/15
2560
相关推荐
Java 数组
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文