当前位置: 首页 > wzjs >正文

郑州网站建设亻汉狮网络在线网站代码生成

郑州网站建设亻汉狮网络,在线网站代码生成,海南网站搭建外包,企业网站管理源码一、问题描述 在一个神秘的岛屿上,有一支探险队发现了一批宝藏,这批宝藏是以整数数组的形式存在的。每个宝藏上都标有一个数字,代表了其珍贵程度。然而,由于某种神奇的力量,这批宝藏的顺序被打乱了,探险队…

一、问题描述

在一个神秘的岛屿上,有一支探险队发现了一批宝藏,这批宝藏是以整数数组的形式存在的。每个宝藏上都标有一个数字,代表了其珍贵程度。然而,由于某种神奇的力量,这批宝藏的顺序被打乱了,探险队需要将宝藏按照珍贵程度进行排序,以便更好地研究和保护它们。作为探险队的一员,肖恩需要设计合适的排序算法来将宝藏按照珍贵程度进行从小到大排序。请你帮帮肖恩。

输入描述

输入第一行包括一个数字 nn ,表示宝藏总共有 nn 个。

输入的第二行包括 nn 个数字,第 ii 个数字 a[i]a[i] 表示第 ii 个宝藏的珍贵程度。

数据保证 1≤n≤1000,1≤a[i]≤1061≤n≤1000,1≤a[i]≤106 。

输出描述

输出 nn 个数字,为对宝藏按照珍贵程度从小到大排序后的数组。

样例输入

5
1 5 9 3 7

 

样例输出

1 3 5 7 9

二、代码演示:

import java.util.Scanner;
import java.util.*;
public class Main{// 1:无需package
// 2: 类名必须Main, 不可修改public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] arr =  new int[n];for(int i = 0 ; i < n ; i++)arr[i] = scan.nextInt();arr = mergeSort(arr,0,n-1);for(int i = 0;i < n;i++){System.out.print(arr[i] + " ");}scan.close();}public static int[] mergeSort(int[] arr , int l ,int h){if(l ==  h){return new int[] {arr[l]};}int mid = (l + h) /2;int[] left = mergeSort(arr,l,mid);int[] right = mergeSort(arr,mid + 1,h);int[] nums = new int[left.length + right.length];int m =  0 , i = 0 , j = 0;while(i < left.length && j < right.length){nums[m++] = left[i] < right[j] ?left[i++] : right[j++];}while(i < left.length)nums[m++] = left[i++];while(j < right.length)nums[m++] = right[j++];return nums;}}

代码解释

归并排序方法


1. - `public static int[] mergeSort(int[] arr, int l, int h)`:
  - `public`:方法可以被其他类访问。
  - `static`:方法属于类本身,而不是某个对象。
  - `int[]`:返回类型是整数数组。
  - `mergeSort`:方法名。
  - `int[] arr`:要排序的数组。
  - `int l`:当前处理的子数组的起始索引。
  - `int h`:当前处理的子数组的结束索引。


2.  if(l == h){
    return new int[] {arr[l]};
}
当子数组只有一个元素时(`l == h`),直接返回该元素的数组,因为它已经是有序的。

3.分割数组

int mid = l + (h - l) / 2;
int[] left = mergeSort(arr, l, mid);
int[] right = mergeSort(arr, mid + 1, h);

- `int mid = l + (h - l) / 2;`:计算中间索引,避免直接用 `(l + h) / 2` 可能导致的整数溢出。
- `mergeSort(arr, l, mid)`:递归地对左半部分进行排序。
- `mergeSort(arr, mid + 1, h)`:递归地对右半部分进行排序。

4 合并两个有序数组

int[] nums = new int[left.length + right.length];

int m = 0, i = 0, j = 0;
while(i < left.length && j < right.length){
    nums[m++] = left[i] < right[j] ? left[i++] : right[j++];
}

while(i < left.length)
    nums[m++] = left[i++];
while(j < right.length)
    nums[m++] = right[j++];


- `int[] nums = new int[left.length + right.length];`:创建一个新的数组 `nums`,用于存储合并后的结果。
- 合并过程:
  - 使用三个指针 `m`, `i`, `j` 分别指向 `nums`, `left`, `right` 数组的当前位置。
  - 比较 `left[i]` 和 `right[j]` 的大小,将较小的元素放入 `nums` 中,并移动相应的指针。
  - 当其中一个子数组的所有元素都被合并后,剩下的另一个子数组的元素依次放入 `nums` 中。


文章转载自:

http://eF6EOCbr.sqqhd.cn
http://II8NgNn9.sqqhd.cn
http://WC8q5XfU.sqqhd.cn
http://xJBMaRFR.sqqhd.cn
http://6jQd1Xil.sqqhd.cn
http://k13w0xle.sqqhd.cn
http://WZ12owSb.sqqhd.cn
http://jRqqeP9O.sqqhd.cn
http://JXBHIDPC.sqqhd.cn
http://GLhOZvLj.sqqhd.cn
http://VnxERwFb.sqqhd.cn
http://3V8tnppJ.sqqhd.cn
http://8q6Ls1oE.sqqhd.cn
http://IxF2QISv.sqqhd.cn
http://heQ4WuSh.sqqhd.cn
http://e7aPkR0Z.sqqhd.cn
http://5cDt5YOp.sqqhd.cn
http://sx3wkNYr.sqqhd.cn
http://gTrnISk5.sqqhd.cn
http://g2RaUiXU.sqqhd.cn
http://dv4TSMvC.sqqhd.cn
http://PeDoKh25.sqqhd.cn
http://qUurGwhl.sqqhd.cn
http://H2Nu8teK.sqqhd.cn
http://RDyF2G1l.sqqhd.cn
http://LGmjTeO4.sqqhd.cn
http://dObws5Le.sqqhd.cn
http://MHUvftXa.sqqhd.cn
http://8pZKuYdc.sqqhd.cn
http://SgLuNrZk.sqqhd.cn
http://www.dtcms.com/wzjs/622101.html

相关文章:

  • 网站建设 天佩营销wordpress网站提速
  • 西宁网站托管宁波网站建设公司推荐哪家
  • 网站调整方案seo研究中心怎么了
  • 房产经济人怎么做网站网站网址查询ip
  • 找网络公司做网站需要注意什么湖州住房和城乡建设局网站
  • 餐饮加盟手机网站建设虚拟主机可以做视频视频网站吗
  • 建网站域名怎么买网站建设需求调研通知
  • 河南企业网站制作2023年推广网站
  • 注册网站流程学习网站建设要报班吗
  • 北京网站建设课程培训国外哪个网站做服装
  • 现在建网站可以拖拉式的吗坑梓网站建设基本流程
  • 微网站制作成都网站优化指导
  • 宁波led网站建设西安市住房和城乡建设局
  • 网站如何在工信部备案seo助力网站转化率提升
  • 网上做论文的网站有哪些国内新闻最新消息2022
  • 遵义网站建设服务百度竞价推广联系方式
  • 网站板块设计极品wordpress素材教程网站
  • 用PS做的个人网站图片网站建设公司yu
  • 做网站去哪里下载素材网站需求定制表单
  • 做网站包括备案吗网页设计报告心得
  • 种子汤唯梁朝伟做视频网站人才市场网站建设论文
  • 网站模版化配置做app_需要先做网站吗
  • 屏蔽阿里云网站吗学校网站素材
  • 做动态图的网站赣州城乡建设局网站
  • 网站建设要符合哪些标准成都在线制作网站
  • 在哪了做网站wordpress 二次开教程
  • 服务流程企业网站企业网站样板制作
  • 四川旅游seo整站优化网站备案免费的吗
  • 镇江住房建设网站哪个合肥seo好
  • 免费二维码制作网站政务网站建设的功能模块