1098. Insertion or Heap Sort (25) 21'

简介: #include #include #include using namespace std;vector a, b;//note:堆排序从1开始void downAdjust(int low, int high...
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> a, b;
//note:堆排序从1开始
void downAdjust(int low, int high){
    int i = 1, j = i * 2;
    while (j <= high) {
        if(j + 1 <= high && b[j] < b[j] + 1)
            j = j + 1;
        if (b[i] < b[j]) {
            swap(b[i], b[j]);
            i = j;
            j = i * 2;
        }else break;
    }
}

int main(){
    int n;
    cin >> n;
    a.resize(n+1);
    b.resize(n+1);
    for (int i = 1; i <= n; i++)  cin >> a[i];
    for (int i = 1; i <= n; i++)  cin >> b[i];
    int i, j;
    for (i = 1; i <= n - 1 && b[i] <= b[i+1]; i++);
    for (j = i + 1; a[j] == b[j] && j <= n; j++) ;
    if (j == n+1) {
        cout << "Insertion Sort" << endl;
        sort(b.begin() + 1, b.begin() + i + 2);
    }else{
        cout << "Heap Sort" << endl;
        j = n;
        while(j >= 2 && b[j] >= b[j - 1]) j--;
        swap(b[1], b[j]);
        downAdjust(1, j - 1);
    }
    for (int i = 1; i <= n; i++)
        printf("%d%c", b[i], i == n ? '\n' : ' ');
    return 0;
}
目录
相关文章
|
5月前
#我用Qwen3做了英语老师玛丽# 、#阿里云百炼#,@通义大模型
通过Qwen3创建了名为“玛丽”的英语老师智能体,具备解决学生英语问题的多种功能。她能用英语描述天气、翻译古诗词、撰写英语作文,还帮助了解外国文化、饮食与风俗习惯。相比以往版本更易使用,体验更佳。已完成功能设计与发布流程,感兴趣者可尝试使用。
148 12
|
8月前
|
编译器 C语言 C++
类和对象的简述(c++篇)
类和对象的简述(c++篇)
|
8月前
|
编解码 算法 数据安全/隐私保护
一维信号的小波变换与重构算法matlab仿真
本程序使用MATLAB2022A实现一维信号的小波变换与重构,对正弦测试信号进行小波分解和重构,并计算重构信号与原信号的误差。核心步骤包括:绘制分解系数图像、上抽取与滤波重构、对比原始与重构信号及误差分析。小波变换通过多分辨率分析捕捉信号的局部特征,适用于非平稳信号处理,在信号去噪、压缩等领域有广泛应用。
|
8月前
|
移动开发 前端开发 JavaScript
HTML5实现好看的端午节网页源码
HTML5实现好看的端午节网页源码,包含十个页面:网站首页、端午节介绍、由来、习俗、文化、美食、故事、民谣、联系我们及登录/注册。页面设计简洁美观,内容丰富,兼容手机端,代码规范且注释完整,易于扩展和修改。提供完整的源码下载和视频演示,方便学习和使用。
239 3
|
8月前
|
人工智能 自然语言处理 搜索推荐
小米实测:Deepseek——你的私人旅游攻略定制专家!
大家好,我是小米,一个31岁的技术爱好者。今天分享如何用Deepseek规划完美旅行。Deepseek能快速整合信息、提供个性化推荐,省时省力,并支持实时问答。从目的地选择到行程规划,再到预订机票住宿和旅行中的实时帮助,它都能提供强大支持。希望今天的分享能帮到你,期待你用Deepseek规划出属于自己的精彩旅程!如果你觉得有用,欢迎点赞、转发并关注我的微信公众号“软件求生”,获取更多技术干货。
668 8
|
网络协议 网络安全 网络虚拟化
|
NoSQL Redis
|
大数据 云计算
2022年了阿里云ACP认证值得考吗?ACP证书含金量高吗?
都2022年了,阿里云ACP认证有必要考吗?考取阿里云ACP工程师认证后工资多少?证书含金量高吗?
1947 0
2022年了阿里云ACP认证值得考吗?ACP证书含金量高吗?
|
安全
在阿里云后置台充值后如何提现—详细教程
您可前往新用户中心,在新用户中心页面,可以看到您的余额和提现入口,点击提现按钮,进入到提现页面进行提现操作。阿里云余额提现,提现到哪里?操作流程
2264 2