博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二路归并排序 代码实例
阅读量:6371 次
发布时间:2019-06-23

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

  感觉好久没有写排序程序了,C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(主要这个不是Array)。今天写了一下归并排序还有点费劲呀。晚上回来写写。

  归并排序就是采用分治法进行排序:

  (1)将一个数组分成小的2个数组分别进行排序;

  (2)之后将分出来的已经拍好序的数组进行合并;

晚上写的java二路归并排序代码如下:

import java.util.Scanner;public class MergeSort {    int[] a=null;    int[] b=null;    int n;    Scanner sin=null;        MergeSort()    {        a=new int[10000];        b=new int[10000];        sin=new Scanner(System.in);    }        void sort(int start,int end)    //排序a[start...end]    {        int mid;     if(start >= end)    //只有一个元素的时候,直接返回            return ;        else        {            mid=(end-start)/2;    //将元素分成两半,分别排序            sort(start,start+mid);            sort(start+mid+1,end);                        //归并两个有序的数组a[start...start+mid]和a[start+mid+1...end]            merge(start,start+mid,end);            }    }        void merge(int start,int mid,int end)    //归并    {        int t=start;        int i=start,j=mid+1;        while(i<=mid && j<=end)        {            if(a[i]

 

 

 

转载地址:http://ehuqa.baihongyu.com/

你可能感兴趣的文章
如何在Hive中使用Json格式数据
查看>>
linux如何恢复被删除的热文件
查看>>
Eclipse(MyEclipse) 自动补全
查看>>
Struts2中dispatcher与redirect的区别
查看>>
zabbix agentd configure
查看>>
地图点聚合优化方案
查看>>
Google Chrome 快捷方式
查看>>
备考PMP心得体会
查看>>
vue proxy匹配规则
查看>>
线上应用故障排查之一:高CPU占用
查看>>
Extend Volume 操作 - 每天5分钟玩转 OpenStack(56)
查看>>
IronPython教程
查看>>
squid via检测转发循环
查看>>
计算分页
查看>>
iptables 做nat路由器脚本
查看>>
数据结构(C语言版)第三章:栈和队列
查看>>
Stopping and/or Restarting an embedded Jetty in...
查看>>
Oracle存储过程中的数据集输入参数
查看>>
vsftp 配置
查看>>
VCSA中配置时间和时区,实测至6.5适用
查看>>