首页 > 其他分享 >11.5 非递归的归并排序

11.5 非递归的归并排序

时间:2024-11-05 21:44:41浏览次数:2  
标签:归并 递归 int 11.5 arr long 1008611

#include <bits/stdc++.h>
using namespace std;
#define int long long

int n;

int help[1008611];
int arr[1008611];


void merge(int l,int m,int r){
    int i=l;
    int a=l;
    int b=m+1;
    while(a<=m&&b<=r){
        help[i++]=arr[a]<=arr[b]?arr[a++]:arr[b++];
    }

    while(a<=m){
        help[i++]=arr[a++];
    }
    while(b<=r){
        help[i++]=arr[b++];
    }
    for (int j = l; j <=r ; ++j) {
        arr[j]=help[j];
    }
}

void solve(){

    for(int l,m,r,step=1;step<n;step<<=1){

        l=0;
        while(l<n){
            m=l+step-1;
            if(m+1>=n){
                break;
            }
            r=min(l+(step<<1)-1,n-1);
            merge(l,m,r);
            l= r+1;
        }
    }
}



int32_t main() {
    cin>>n;
    for (int i = 0; i <n ; ++i) {
        cin>>arr[i];
    }
    solve();

    for (int i = 0; i < n; ++i) {
        cout<<arr[i];
    }
    return 0;
}

标签:归并,递归,int,11.5,arr,long,1008611
From: https://www.cnblogs.com/dontian/p/18528921

相关文章

  • 2024.11.5 鲜花
    放点屁话大家多交hack。有的人觉得没意义,这也无可厚非,有的人怕被骂,我一直认为这是多余的,但竟然真的有人骂?这是无法理解的,所以发文声讨一下。叠甲:本文仅代表个人观点,可能有过激言论,不针对任何人。不是你们骂交hack的人是什么心态啊。你站在道德制高点上,谴责人家交hack,你首......
  • 2024.11.5 闲话
    别人的闲话都推图or歌,我的鲜花啥也没有。我也没啥可推的啊,求图or歌高维前缀和常见的柿子是\(s_{i,j}=s_{i-1,j}+s_{i,j-1}-s_{i-1,j-1}+a_{i,j}\)。但是还可以一维一维求。点此查看代码rep(i,1,n,1)rep(j,1,m,1)a[i][j]+=a[i-1][j];rep(i,1,n,1)rep(j,1,m,1)a[i]......
  • 11.5
    软件设计                 石家庄铁道大学信息学院 实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在......
  • 代码随想录算法训练营第十三天|二叉树的理论基础、二叉树的递归遍历、二叉树的层序遍
    1二叉树的理论基础文章链接:代码随想录视频链接:关于二叉树,你该了解这些!|二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序哔哩哔哩bilibili1.1二叉树的种类满二叉树所有节点处的值都排满了,没有空的完全二叉树只有在最后......
  • 11.5日总结
    实验9:桥接模式[实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 1.类图   1. 源代码1.Car.javapackage test9; publicclassCarimplementsVehicle{    @Override    publicvoidd......
  • 11.5
    (填空题)依据复用的对象,软件复用分为()和()。我的答案:20分(1)产品复用(2)过程复用正确答案:(1)产品复用(2)过程复用(填空题)软件复用的优点有()、()、()、()。我的答案:20分(1)提高生产率(2)减少维护代价(3)提高互操作性(4)支持快速原型正确答案:(1)提高生产率(2)减......
  • 11.5 人工智能学习内容
    人工智能(ArtificialIntelligence)引文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。(一)学科范畴人工智能是一门边沿学科,属于自然科学、社会科学、技术科学三向交叉学科。(二)涉及学科与领域哲学和认知科学,数学,神经生......
  • libaom 源码分析:帧内递归滤波模式
    帧内递归滤波模式原理在AV1编码标准中,滤波帧内预测模式是一组用于帧内预测的工具,它们通过应用不同的滤波器来预测当前编码块(codingblock)内的像素值,基于周围的已知像素(通常是顶部和左侧的像素)。有5种滤波帧内模式被定义(FILTER_DC_PRED、FILTER_V_PRED、FILTER_H_PRED、FI......