博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Merge Sort(Java)
阅读量:6240 次
发布时间:2019-06-22

本文共 1488 字,大约阅读时间需要 4 分钟。

1    public static void main(String[] args) 2     { 3         Scanner input = new Scanner(System.in); 4         int n = input.nextInt(); 5         int[] a = new int[n]; 6          7         for(int i = 0; i < a.length; i++) 8             a[i] = input.nextInt(); 9         divide(a, 0, a.length - 1);10         11         for(int i = 0; i < a.length; i++)12             System.out.print(a[i] + " ");13     }14     15     public static void divide(int[] a, int front, int rear)16     {17         if(front == rear)18             return;19         20         int mid = front + (rear - front) / 2;21         divide(a, mid + 1, rear);  //分割右半边22         divide(a, front, mid);   //分割左半边23         merge(a, front, mid, rear);   //进行归并24     }25     26     public static void merge(int[] a, int front, int mid, int rear)27     {28         //先依次将排好序的元素放入b数组中(在放入b数组的过程中进行排序) 再将b数组元素依次放到a数组中29         int[] b = new int[rear - front + 1];30         int k = 0, i = front, j = mid + 1;31         32         while(i <= mid && j <= rear)33         {34             if(a[i] > a[j])35                 b[k++] = a[j++];36             else37                 b[k++] = a[i++];38         }39         if(i > mid)40             while(j <= rear)41                 b[k++] = a[j++];42         else43             while(i <= mid)44                 b[k++] = a[i++];45         46         for(int p = front, q = 0; p <= rear; p++, q++)47             a[p] = b[q];48     }

 

转载于:https://www.cnblogs.com/Huayra/p/10507211.html

你可能感兴趣的文章
安装memcached+nginx+php+memadmin笔记
查看>>
JavaScript 实现反射机制
查看>>
postfix-tls加密
查看>>
软件测试面试-必掌握的 Linux常用命令大全--2.0更新版!
查看>>
结构体嵌套二级指针
查看>>
自定义密码输入框,集成化的支付弹框
查看>>
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
查看>>
Linux中Samba服务器的搭建
查看>>
iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态
查看>>
nfs服务的配置
查看>>
微信小程序支付调试
查看>>
ASP.NET中GridView数据导出到Excel
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
swoole项目思维转换 -- 前篇
查看>>
我的友情链接
查看>>
Redis之----Redis的数据类型和操作
查看>>
只读字段与标签字段
查看>>
ubuntu修改时区和时间的方法
查看>>
maven实战 读书笔记三#高级程序员进阶之路#
查看>>