PAT1098 Insertion or Heap Sort

扫地机器人全场景测试实战:从实验室到真实家庭的可靠性验证 本文深入探讨了扫地机器人从实验室到真实家庭的全场景测试方法,揭示了软硬件测试中的关键挑战。通过分析场景化测试的重要性,文章详细介绍了硬件耐久性、软件稳定性和环境适应性三大测试维度,并提供了真实家庭测试的实用方法论。消费者可重点关注清洁率、覆盖率等核心指标,同时了解测试工程师的私房建议,帮助选择更可靠的扫地机器人产品。 阅读详情
题目链接:

http://www.nowcoder.com/pat/5/problem/4322

题目大意:

判断插入排序还是堆排序。

首先判断下是哪种排序,是则以此排序方式再迭代一步。

代码:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int dest[105];
int N;
int flag;
bool isEqual(int* sort)
{
    for (int i = 0; i < N; i++)
    {
        if (sort[i] != dest[i])
        {
            return false;
        }
    }
    return true;
}
void Insertion_Sort(int* sort,int N)
{
    for (int i = 1; i < N; i++)
    {
        int tmp = sort[i];
        int j;
        for (j = i; j>0 && sort[j - 1] >= tmp; j--)
        {
            sort[j] = sort[j - 1];
        }
        sort[j] = tmp;
        if (flag == 1)
        {
            return;
        }
        if (isEqual(sort))
        {
            flag = 1;
        }
    }

}
void PercDown(int* sort,int parent,int n)
{
    int child;
    int tmp = sort[parent];
    for (; parent * 2+1 <= n-1; parent = child)
    {
        child = parent * 2+1;
        if (child != n-1 && sort[child] < sort[child + 1])
        {
            child++;
        }
        if (tmp >= sort[child])
        {
            break;
        }
        else
        {
            sort[parent] = sort[child];
        }
    }
    sort[parent] = tmp;
}
void swap(int* a,int* b)
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
void Heap_Sort(int* sort,int N)
{
    for (int i = N / 2; i >= 0; i--) //调成最大堆
    {
        PercDown(sort,i,N);
    }
    for (int i = N - 1; i >= 0; i--)
    {
        swap(&sort[0],&sort[i]);
        PercDown(sort,0,i);
        if (flag == 2)
        {
            return;
        }
        if (isEqual(sort))
        {
            flag = 2;
        }
    }
}
int main()
{
    int init[105];
    int insertionSort[105];
    int heapSort[105];

    flag = 0;
    scanf("%d",&N);
    for (int i = 0; i < N; i++)
    {
        scanf("%d",&init[i]);
    }
    for (int i = 0; i < N; i++)
    {
        scanf("%d",&dest[i]);
    }
    for (int i = 0; i < N; i++)
    {
        insertionSort[i] = heapSort[i] = init[i];
    }
    Insertion_Sort(insertionSort,N);
    Heap_Sort(heapSort,N);
    if (flag == 1)
    {
        printf("Insertion Sort\n");
        printf("%d", insertionSort[0]);
        for (int i = 1; i < N; i++)
        {
            printf(" %d",insertionSort[i]);
        }
    }
    else if (flag == 2)
    {
        printf("Heap Sort\n");
        printf("%d", heapSort[0]);
        for (int i = 1; i < N; i++)
        {
            printf(" %d", heapSort[i]);
        }
    }
    return 0;
}
CPU、Core、RISC、ARM等的前世今生 CPU、Core、RISC-V 、ARM、ASIC、FPGA、SOC概念及区分 阅读详情

相关推荐

Spring Boot应用Docker化实战:从Dockerfile编写到镜像推送完整流程

本文详细介绍了将Spring Boot应用Docker化的完整实战流程。从环境准备、项目审视,到编写高效且安全的Dockerfile,重点讲解了多阶段构建、镜像层优化、Spring Boot分层JAR等核心技巧,并涵盖了镜像构建、验证、调试以及最终推送至仓库并集成CI/CD的最佳实践,帮助开发者构建生产级Docker镜像。

butter的博客 1023

PAT 甲级 1098  Insertion or Heap Sort

1098 Insertion or Heap Sort (25 point(s)) According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion so...

漫浸天空的雨色的备忘录~ 825

【星火】海思HI3516C开发板实战:基于LVGL与MPP库的行车记录仪/电子显微镜方案

本文详细介绍了基于海思HI3516CV500开发板,结合LVGL图形库与海思MPP媒体处理平台,实现行车记录仪与电子显微镜方案的完整实战过程。内容涵盖从系统环境搭建、驱动配置到应用开发的全流程,重点解析了MPP视频流处理管道与LVGUI界面协同工作的核心机制,为嵌入式音视频开发提供了可复用的参考方案。

weixin_42126677的博客 160

PAT 乙级题解 ——1098 岩洞施工

下面的两幅图分别给出了岩洞的剖面图,深蓝色的折线勾勒出岩洞顶部和底部的轮廓。图 1 是有可能的,绿色部分显示直径为 1 的管道可以送入。图 2 就不可能,除非把顶部或底部的突出部分削掉 1 个单位的高度。随后两行数据,从左到右顺次给出采样点的纵坐标:第 1 行是岩洞顶部的采样点,第 2 行是岩洞底部的采样点。当顶部最低点坐标与底部最高点坐标的差 > = 1 时,可以通过长管道, 最大直径就是 顶部最低点坐标 减去 底部最高点坐标。题目保证输入数据是合理的,即岩洞底部的轮廓线不会与顶部轮廓线交叉。

As_h_的博客 357

8、鼠疫流行过程的计算机建模介绍

本博文介绍了一种基于概率细胞自动机和蒙特卡罗方法的计算机模型,用于模拟由大沙鼠传播的鼠疫流行过程。结合GIS和遥感技术,该模型能够分析鼠疫在不同聚居地类型和季节变化下的传播特征,揭示了群落密度、分布及流行接触率对鼠疫传播的影响。研究还验证了模型与自然流行过程的一致性,并探讨了鼠疫在宿主数量低谷时的持续机制。模型为鼠疫防控和流行病研究提供了定量分析工具。

x2y3z4a5b的博客 105

MAX30102心率血氧传感器原理图设计,已量产(e-Health传感器)

在最近的便携健康监测设备项目中,我们采用了集成算法的 MAX30102 心率血氧模块 —— 这类带内置 MCU 算法的传感器能直接输出心率 / 血氧数值,大幅降低了主控资源占用。但硬件电路的稳定性直接决定了 PPG 信号的采集精度,下面结合实际项目里的原理图,拆解下这个模块的设计细节。

不脱发的程序猿 1278

1098 岩洞施工 (20 分)C语言

1098 岩洞施工 (20 分)C语言

qq_53984615的博客 815

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

【云原生之Docker实战】使用docker部署Monica个人开源CRM系统

jks212454的博客 2384

PAT1098【插入排序+堆排序】

简单插入排序: 简单插入排序的核心思想: 把一条这么个难看的序列默认分为两个排好序的和未排好序的两个部分; 所以一开始排好序的只有一个a[0](好看的只有一个),难看的有N(数组长度)-1个a[1,n-1]; 然后呢,你就要顺序下来,把一个个难看的几个人插到好看的那一堆里去,好看的越来越多,难看的越来越少,最后变成了真的好看的; 代码: void InsertionSort...

weixin_30894583的博客 212

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 551

Golang内存管理:GC调优实战案例

在Golang编程中,内存管理是一个非常重要的方面。良好的内存管理可以提高程序的性能和稳定性,而GC(垃圾回收)调优则是优化内存管理的关键手段。本文的目的就是通过实际案例,深入讲解Golang中GC调优的方法和技巧,让读者能够在实际项目中更好地进行内存管理和性能优化。范围涵盖了从核心概念的解释到具体代码实现和调优过程的详细分析。本文首先会介绍一些相关的术语和核心概念,让读者对Golang内存管理和GC有一个基本的认识。然后通过故事引入的方式,更加形象地解释核心概念及其相互关系。

AI Agent Harness Engineering 1118

PAT(Advance) 1098. Insertion or Heap Sort (25)

#include <iostream> #include <vector> #include <algorithm> using namespace std; vector<int> orignal,target,result;bool InsertSort(){ int flag = 0; //result.clear(); result = orignal; fo

andy的专栏 1020

在ParaView中编程实现涡量可视化

综上所述,本文介绍了在ParaView中使用编程方式实现涡量可视化的方法,并提供了相应的Python代码示例。通过灵活运用ParaView的编程接口,我们可以根据特定需求定制复杂的数据可视化流程,进一步深入了解和分析流体的旋转行为。ParaView是一款强大的开源数据可视化工具,它提供了丰富的功能和灵活的编程接口,使用户能够定制数据可视化流程。你可以根据需要自定义颜色映射范围和颜色,上述代码中的RGBPoints列表中包含了两个点,分别对应涡量值为0和10时的颜色。在实际使用过程中,你需要替换代码中的。

ByteProwl的博客 1434

PAT 1098 Insertion or Heap Sort

题目描述 According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input d...

学习记录 492

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

PAT甲级1098 Insertion or Heap Sort (25分) 堆排序 swap交换数组元素

1098 Insertion or Heap Sort (25分) According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, finds the location it

qq_32691667的博客 168

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[PAT A1098]Insertion or Heap Sort

[PAT A1098]Insertion or Heap Sort 题目描述 According to Wikipedia: Insertion sortiterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort...

欢迎来到我的编程小屋 620

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

[PAT] A1098 Insertion or Heap Sort

(重要!堆!) 题目大意 给出n和n个数的序列a和b,a为原始序列,b为排序其中的一个步骤,问b是a经过了堆排序还是插入排序的,并且输出它的下一步。 坑 测试点2:插入排序时,要考虑输入的两个序列是相同的情况。即第一次判断时原序列的第一个数和第二个数本身有序(题目保证了答案唯一,所以不会出现连续几个本身都有序的情况)。一开始我写错了,是因为先判断了序列是否相同再进入循环。 化简 找到两个...

yue的博客 188

【PAT A1098】Insertion or Heap Sort

According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, ...

lvmy3的博客 190

PAT 1098 Insertion or Heap Sort

1098Insertion or Heap Sort(25分) According to Wikipedia: Insertion sortiterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort remov...

YIU 197

pat 1098 Insertion or Heap Sort

According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input dat

suichen1的专栏 354

1098 Insertion or Heap Sort (PAT甲级)

已经根据柳婼的解法改进了一些,但她的代码还是简洁不少。

linh2006的博客 519

PAT A1098 Insertion or Heap Sort

分数 25作者 CHEN, Yue单位 浙江大学。

qq_51825761的博客 1088

PAT A 1098. Insertion or Heap Sort (25)

题目 According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input d

xyzchenzd的专栏 2617

PAT 甲级 1098 Insertion or Heap Sort

题意:给定一个原始序列和排序中途的序列,判断是插入排序还是堆排序; 插入排序:插入排序分为两部分,前面一部分是排好序的一组,后面是没有排的,后面没有排的一定与原始对应位置的一模一样,我们只要找到后面没有排序的第一位然后与原始的对应位置的比较,然后对index+1进行排序就是答案; 堆排序:堆排序分为两部分,第一个部分是初建堆,这个过程题目已经做了,第二个部分是调整,题目给出的序列也是调整过程中...

qq_42152681的博客 157
上一篇: PAT1097 Deduplication on a Linked List
下一篇: poj 1129 Channel Allocation
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值