首页 > 其他分享 >归并排序模板

归并排序模板

时间:2023-04-23 20:56:20浏览次数:31  
标签:sort 归并 int mid merge 排序 模板

void merge_sort(int q[], int L, int R)
{
    if (L >= R)return;//递归中止条件
    int mid =(L + R) >> 1;
    merge_sort(q, L, mid);
    merge_sort(q, mid + 1,R);//先递归处理左右
    int l = L; int r = mid + 1;
    int n = 0;
    while (l <= mid && r <= R)
    {
        if (q[l] < q[r])
            Temp[n++] = q[l++];
        else
            Temp[n++] = q[r++];
    }
    while (l <= mid)Temp[n++] = q[l++];
    while (r <= R)Temp[n++] = q[r++];
    for (int i = L,j = 0; L <= R;L++,j++)//数据导入
        q[L] = Temp[j];
}
注意归并排序需要额外一个数组Temp来暂时存储结果

 

标签:sort,归并,int,mid,merge,排序,模板
From: https://www.cnblogs.com/WKWKSL/p/17347710.html

相关文章

  • php按照首字母排序,PHP获取汉字首字母并分组排序
    没问题的直接上代码classCharacter{publicfunctiongroupByInitials(array$data,$targetKey='name'){$data=array_map(function($item)use($targetKey){returnarray_merge($item,['initials'=>$thi......
  • #yyds干货盘点# LeetCode程序员面试金典:在排序数组中查找元素的第一个和最后一个位置
    题目:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。 示例1:输入:nums=[5,7,7,8,8,10],target=......
  • 冒泡排序
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(void){ intarr[4]={1,3,2,'\0'};//加上'\0'后由数组变成字符串 inti,j,temp; for(i=0;i<2;i++) { for(j=0;j<3-i-1;j++) {  if(arr[j]>arr......
  • 【WPF学习】04 数据模板
    相对于上一节控件模板ControlTemplate定义的是控件的外观及行为,数据模板DataTemplate定义的是数据的可视化结构DataTemplate允许我们实现通过数据绑定来达到数据驱动UI显示的效果在下面的实例中,我们首先声明一个包含颜色代码Code和颜色名称Name两个字段的一个构造Color类,再建立......
  • oracle按身份证号分组后按更新时间排序,取第一条数据
    select  t.*     from (select a.*,row_number() over(PARTITION BY A.IDENTITYCARD order by A.ACCESSIONTIME desc)rn             from T_PATIENT_INFO  a)t    where t.rn= 1 T_PATIENT_INFO--表IDENTITYCARD--证件号码ACC......
  • 三大类算法:递归、排序、二分查找
    一、递归”递“+”归“。这两个意思,正是递归思想的精华所在,去的过程叫做递,回来的过程叫做归,在编程语言中对递归可以简单理解为:方法自己调用自己,只不过每次调用时参数不同而已。满足递归的条件:1、递归表达是(规律)如果一个问题的解能够拆分成多个子问题的解,拆分之后,子问题和该问题在求......
  • odoo中打印模板处理selection字段
    在odoo中处理selection字段,通常情况下,如果拿到的是key,还要再翻译成value.这里可以用fields_get()这个函数,来实现这个问题${dict(item.fields_get(allfields=['type_id'])['type_id']['selection']).get(item.type_id)} 这里的item是数据集‘type_id’selection的字段......
  • List嵌套排序并取第一个对象
    usingNewtonsoft.Json;using嵌套List排序;//示例listvarexampleString="{\"code\":1,\"msg\":\"[OK]AI诊断成功!\",\"diagnoseJson\":{\"disease\":{\"zhongda\":[[\"胆癌(胆囊癌胆总管癌胆囊肉瘤)\&q......
  • 删除Teamcenter bmide模板
    1.检验是否可以删除bmide_remove_template-u=infodba-p=infodba-g=dba-mode=dryrun-template=v7box BMIDE移除模板日期:周日4月23202308:37:46上午中国标准时间----------------------------------------------------------------------------验证输入参数...Fin......
  • cap4模板表单数据库表的对应关系
    formmain表与col_summary表对应:formmain的id对应col_summary中的form_recordid可以通过formmain的id(masterid)找到col_summary对象  col_summary的id对应ctp_affair表中的object_id可以通过col_summary的id获取ctpaffair对象  ......