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

归并排序

时间:2022-10-25 16:13:14浏览次数:42  
标签:sort 归并 int ++ mid merge while 排序

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 k = 0,i = l,j = mid + 1;
while(i <= mid && j <= r){
if(q[i] <= q[j]) tmp[k++] = q[i++];
else tmp[k++] = q[j++];
}

while(i <= mid ) tmp[k++] = q[i++];
while(j <= r) tmp[k++] = q[j++];

for(i = l,j = 0;i <= r;i++,j++) q[i] = tmp[j];
}

标签:sort,归并,int,++,mid,merge,while,排序
From: https://www.cnblogs.com/sxwgzx23/p/16825208.html

相关文章

  • 翻转排序 (sort)
    翻转排序(sort)题目描述Alex得到了存放着一个1-n排列的容器。这个容器支持的唯一操作,是翻转排列的某一段。思考很久之后,他决定用以下方式让这个排列有序: 1找到每一个极大......
  • 归并排序复习 && 求逆序对
    分治这一块确实是一个难点因为涉及到递归,实际用起来比较难而且能想到分治做法就不容易了归并排序就是分治的典型应用通过对数组不断拆分,然后再把小区间合并成有序的区间......
  • Python——sorted自定义对一维二维数组排序
    一维数组arr=['15:30','16:30','10:00','8:00','9:00','13:30','14:30','11:00']#使用lamda自定义规则进行排序sort_arr=sorted(arr,key=lambdax:int(x......
  • BZOJ 1007(水平可见直线-斜率排序+栈贪心)
    1007:[HNOI2008]水平可见直线TimeLimit: 1Sec  MemoryLimit: 162MBSubmit: 1830  Solved: 656[​​Submit​​][​​Status​​][​​Discuss​​]......
  • 排序算法集锦
    1冒泡排序思想:相邻数据比较,数组中每两个相邻的数字都要比较,从头比较到末尾确定一个数所在的位置;如此,N个数,比较NUM=n-1个轮次,每个轮次做n-num次两两比较;代码如下:(这里为什......
  • Demo46_冒泡排序01
    //冒泡排序packagecom.HuanXin.array_6;publicclassDemo08_01{publicstaticvoidmain(String[]args){int[]QQ={1,4,5,6,78,9};int[]aa=AA......
  • c语言冒泡排序法代码(c语言冒泡排序法代码讲解)
    求一个C语言冒泡排序法的简单程序怎么办?  下一趟排序开始时,R[1。。lastExchange-1]是有序区,R[lastExchange。。n]是无序区。这样,一趟排序可能使当前有序区扩充多个记录,从......
  • Python 根据两个字段排序 中文排序 汉字排序 升序 降序
    Python根据两个字段排序中文排序汉字排序升序降序Python根据两个字段排序中文排序汉字排序升序降序Python根据两个字段排序中文排序汉字排序升序降序Pyt......
  • 7.3 ElasticSearch运行机制之排序
    1.简介elasticsearch默认采用相关性算分排序,用户可以通过设定sort参数自行设定排序规则。2.query查询job字段为“Javaengineer”的文档,然后按照出生日期为第一排序字段、......
  • Django drf 排序
    Djangodrf排序18.1全局配置配置排序类REST_FRAMEWORK={......'DEFAULT_FILTER_BACKENDS':('rest_framework.filters.OrderingFilte......