当前位置: 首页 > news >正文

《数据结构、算法与应用C++语言描述》- 堆排序 - 借助priority_queue的C++实现

堆排序

完整可编译运行代码见:Github::Data-Structures-Algorithms-and-Applications/_27HeapSort

定义

借助堆进行排序。先用n个待排序的元素初始化一个小根堆,然后从堆中逐个提取(即删除元素)元素。初始化的时间复杂度为O(n),大根堆中每删除一个元素的时间复杂度为O(logn)。因此总的时间复杂度为O(nlogn)。

实现

main.cpp

#include <iostream>
#include <queue>
#include <vector>int main() {std::vector<int> data = {1, 5, 6, 99, 88, 66};std::vector<int> res(data.size());// 使用数组初始化小根堆std::priority_queue<int, std::vector<int>, std::greater<>> pq(data.begin(), data.end());for(int i = 0; i < data.size(); i++){res[i] = pq.top();pq.pop();}for(int re : res)std::cout << re << " ";std::cout << std::endl;return 0;
}

运行结果

"C:\Users\15495\Documents\Jasmine\prj\_Algorithm\Data Structures, Algorithms and Applications in C++\_27HeapSort\cmake-build-debug\_27HeapSort.exe"
1 5 6 66 88 99Process finished with exit code 0

相关文章:

《数据结构、算法与应用C++语言描述》- 堆排序 - 借助priority_queue的C++实现

堆排序 完整可编译运行代码见&#xff1a;Github::Data-Structures-Algorithms-and-Applications/_27HeapSort 定义 借助堆进行排序。先用n个待排序的元素初始化一个小根堆&#xff0c;然后从堆中逐个提取(即删除元素)元素。初始化的时间复杂度为O(n)&#xff0c;大根堆中每…...

10.CSS浮动

CSS浮动 1.介绍 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一 2.作用 让元素脱离标准流&#xff0c;同一级的浮动的元素可以并排在一排显示 3.元素浮动后的特点 脱离文档流不管浮动前是什么元素&#xff0c;浮动后&…...

Angular 2 学习笔记

Angular 2 应用主要由以下 几个部分组成&#xff1a; 1、模块 (Modules)&#xff1a; 2、组件 (Components)&#xff1a; 3、模板 (Templates)​​​​​​​&#xff1a; 4、元数据 (Metadata)&#xff1a; 5、数据绑定 (Data Binding) 6、指令 (Directives) 7、服务 (Servic…...

xcode 修改 target 中设备朝向崩溃

修改xcode的target中的设备朝向导致崩溃。 从日志上看好像没有什么特别的信息。 之后想了想&#xff0c;感觉这个应该还是跟xcode的配置有关系&#xff0c;不过改动的地方好像也只有plist。 就又翻腾了半天plist中的各种配置项&#xff0c;再把所有的用户权限提示相关的东西之…...

ZLMediaKit 编译以及测试(Centos 7.9 环境)

文章目录 一、前言二、编译器1、获取代码2、编译器2.1 编译器版本要求2.2 安装编译器 3、安装cmake4、依赖库4.1 依赖库列表4.2 安装依赖库4.2.1 安装libssl-dev和libsdl-dev4.2.2 安装 ffmpeg-devel依赖和ffmpeg依赖 三、构建和编译项目&#xff08;启用WebRTC功能&#xff09…...

汽车清除积碳和清洗节气门

汽车清除积碳和清洗节气门 汽车需要清除积碳的部位检查积碳方法&#xff1a; 清除积碳和清洗节气门风险&#xff1a;燃油宝 第一次清除积碳1万公里2万公里3万公里--5万公里6万公里以上 汽车需要清除积碳的部位 节气门喷油嘴进气道燃烧室 检查积碳方法&#xff1a; 建议每3到5…...

RocketMQ 总体概括

目录 概述RocketMQ 领域模型MQ 解决的问题电商平台案例初步设计引入中间件设计 MQ 选型结束 概述 官网地址 RocketMQ 领域模型 官方领域模型概述 下面图&#xff0c;是在自己理解的基础上&#xff0c;对官方的模型图添加了一些。 Topic&#xff1a;主题&#xff0c;可以理解…...

使用qemu在arm上模拟x86并运行docker

背景 有一个x86的docker镜像&#xff0c;但是需要运行在aarch64(arm64)上&#xff0c;无奈只能用qemu模拟x86的架构&#xff0c;但是最终没有实现。 原因分析&#xff1a;可能是使用的server版本的ubuntu镜像&#xff0c;建议之后换用desktop版本的ubuntu18镜像&#xff08;猜…...

IIS配置多域名跨域

搜索了一轮&#xff0c;自己实践发现iis中填多条Access-Control-Allow-Origin记录、逗号分隔、正则表达式这些是不行的。另外好像无论Ngxin还是Tomcat等都要rewrite之类的方法。由于仅仅是测试&#xff0c;所以暂时用*通配符算了。记录一下参考&#xff0c;要的时候再研究 CORS…...

el-form表单校验输入框值为0时 提示校验不通过

el-form表单校验输入框值为0时提示校验不通过 配置validator自定义校验方法 这里举例在结构代码里加入校验规则 <el-form-item:prop"num":rules"[{required: true,message: 请输入数量,trigger: change,},{validator,trigger: blur}]" ><el-inpu…...

Vue3后台管理-项目总结

后台管理 1. 动态路由2. 动态侧边栏菜单 持续更新中。。。 1. 动态路由 后台路由模型数据 &#xff08;如果后端不知道怎么转为 这种树结构的路由&#xff0c;可以参考 普通数组转树结构的数组&#xff09; const dynamicRoutes [{path: /,name: Layout,redirect: /home,comp…...

利用Pytorch预训练模型进行图像分类

Use Pre-trained models for Image Classification. # This post is rectified on the base of https://learnopencv.com/pytorch-for-beginners-image-classification-using-pre-trained-models/# And we have re-orginaized the code script.预训练模型(Pre-trained models)…...

MSF学习

之前的渗透测试中 其实很少用到 cs msf 但是在实际内网的时候 可以发现 msf cs 都是很好用的 所以现在我来学习一下 msf的使用方法 kali自带msf https://www.cnblogs.com/bmjoker/p/10051014.html 使用 msfconsole 启动即可 首先就是最正常的木马生成 所以这里其实只需…...

Mybatis与Spring结合深探——MapperFactoryBean的奥秘

文章目录 前言MapperFactoryBean的工作原理底层实现剖析MapperFactoryBean的checkDaoConfig()方法总结 MapperFactoryBean的getObject()方法 思考联想后续 系列相关相关文章究竟FactoryBean是什么&#xff1f;深入理解Spring的工厂神器超硬核解析Mybatis动态代理原理&#xff0…...

processon使用及流程图和泳道图的绘画(登录界面流程图,门诊流程图绘制门诊泳道图,住院泳道图,OA会议泳道图),Axure自定义元件

目录 一.processon图形的使用场景介绍 二.流程图绘画 三.泳道图的绘画 1.绘制门诊流程图绘制门诊泳道图 2. 绘制住院泳道图​编辑 3.绘制药库采购入库流程图 4.绘制OA会议泳道图 四.Axure自定义元件 1.Axure载入元件库 一.processon图形的使用场景介绍 二.流程图绘画 示例&…...

【虹科干货】关于JSON数据库

文章速览&#xff1a; 什么是JSON什么是JSON数据库JSON数据库的显著优势关于JSON数据库的Q&A 如何理解JSON数据库&#xff1f;作为NoSQL数据库的一种类型&#xff0c;JSON数据库有哪些优势呢&#xff1f;JSON数据库如何运作&#xff0c;它为应用程序开发者带来了哪些价值呢…...

区块链的可拓展性研究【03】扩容整理

为什么扩容&#xff1a;在layer1上&#xff0c;交易速度慢&#xff0c;燃料价格高 扩容的目的&#xff1a;在保证去中心化和安全性的前提下&#xff0c;提升交易速度&#xff0c;更快确定交易&#xff0c;提升交易吞吐量&#xff08;提升每秒交易量&#xff09; 目前方案有&…...

golang学习笔记——互斥锁sync.Mutex、计数器sync.WaitGroup、读写锁sync.RWMutex

文章目录 互斥锁&#xff1a; sync.Mutexsync.WaitGroup 计数器例子func (*WaitGroup) Addfunc (*WaitGroup) Donefunc (*WaitGroup) Wait 读写互斥锁参考资料 临界区总是需要通过同步机制进行保护的&#xff0c;否则就会产生竞态条件&#xff0c;导致数据不一致。 互斥锁&…...

MFC 加载本地文件设置图标

基于单文件/多文件版 1、在CMainFrame中设置 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {//...........// 从本地文件加载图标HICON hIcon (HICON)::LoadImage(NULL, L"./vip.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE);if (hIcon){ // 设置窗口图…...

飞天使-linux操作的一些技巧与知识点6-ansible结合jinja2使用,可规范化进行自动化管控

文章目录 在议playbook虚拟环境中安装ansibleplaybook 结合变量的一些演示普通的vars_files 变量&#xff0c;在同级目录创建目录使用host_vars 定义变量group_vars定义变量根据不同系统操作不同版本传递多个外置变量举例几个不同的示例factswhenloophandlers 与 notifytags 任…...

基于Docker部署OpenOffice无头服务实现文档自动化处理

1. 项目概述与核心价值最近在折腾文档处理自动化流程&#xff0c;发现很多老项目或者特定场景下&#xff0c;对Office文档的兼容性要求极高&#xff0c;尤其是那些需要处理.doc、.xls、.ppt等老格式的场景。直接用现代办公套件&#xff08;比如LibreOffice&#xff09;去处理&a…...

STM8硬件IIC驱动BNO055传感器避坑指南(附完整代码)

STM8硬件IIC驱动BNO055传感器实战解析与优化 BNO055作为一款集成了9轴传感器融合算法的智能芯片&#xff0c;能够直接输出姿态角数据&#xff0c;极大简化了嵌入式系统中姿态解算的复杂度。然而在实际应用中&#xff0c;许多开发者发现使用STM32等常见MCU的模拟IIC接口难以稳定…...

自主智能体框架构建指南:从LLM工具调用到多任务规划系统

1. 项目概述&#xff1a;一个能“开疆拓土”的智能体框架最近在开源社区里&#xff0c;一个名为njbrake/agent-of-empires的项目引起了我的注意。光看这个名字&#xff0c;就充满了野心和想象力——“帝国的代理人”。这可不是一个简单的脚本工具&#xff0c;而是一个旨在构建能…...

AssetStudio完全指南:从Unity资源提取到专业应用的全流程教程

AssetStudio完全指南&#xff1a;从Unity资源提取到专业应用的全流程教程 【免费下载链接】AssetStudio AssetStudio - Based on the archived Perfares AssetStudio, I continue Perfares work to keep AssetStudio up-to-date, with support for new Unity versions and addi…...

AI增强型写作工具Hermes-Writer:为开发者打造的智能写作助手

1. 项目概述&#xff1a;一个面向开发者的智能写作助手最近在GitHub上看到一个挺有意思的项目&#xff0c;叫dav-niu474/Hermes-Writer。乍一看标题&#xff0c;你可能会觉得这又是一个普通的Markdown编辑器或者写作工具。但如果你点进去&#xff0c;仔细研究一下它的README、代…...

Pixel Framebuf库:图形化编程驱动LED矩阵,告别底层坐标换算

1. 项目概述&#xff1a;告别点灯&#xff0c;拥抱图形化LED矩阵编程如果你玩过Arduino或者树莓派&#xff0c;大概率接触过WS2812B这类可寻址LED&#xff0c;也就是大家常说的NeoPixel。单个灯珠的控制很简单&#xff0c;setPixelColor一下就能亮。但当你面对一个8x8、16x16甚…...

多智能体涌现环境:从局部交互到群体智能的深度解析与实践

1. 项目概述&#xff1a;多智能体涌现环境的深度探索最近在复现和深入研究一个名为“multi-agent-emergence-environments”的开源项目&#xff0c;它来自OpenAI。这个项目名听起来有点学术&#xff0c;但它的核心思想非常迷人&#xff1a;在一个模拟的物理沙盒环境中&#xff…...

【ElevenLabs匈牙利语音实战指南】:2024最新API调用、音色微调与本地化合规避坑全解析

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs匈牙利语音支持概览与本地化价值定位 ElevenLabs 自 2024 年 3 月起正式引入匈牙利语&#xff08;hu-HU&#xff09;语音合成支持&#xff0c;成为其首批覆盖的中东欧语言之一。该能力依托于…...

Arm Neoverse-V2/V3缓存与内存参数优化指南

1. Arm Neoverse-V2/V3集群架构概述Arm Neoverse系列处理器作为数据中心和基础设施领域的重要计算引擎&#xff0c;其V2/V3代架构在缓存子系统和内存管理方面进行了显著优化。作为从业多年的系统架构师&#xff0c;我认为理解这些处理器的参数配置对性能调优至关重要。Neoverse…...

ELASTIC:MCU目标检测的NAS架构搜索与优化

1. ELASTIC&#xff1a;面向微控制器的目标检测架构搜索革命在边缘计算领域&#xff0c;微控制器&#xff08;MCU&#xff09;上的目标检测一直面临着内存、算力和能耗的三重挑战。传统手工设计的轻量级模型&#xff08;如Tiny-YOLO或MobileNet-SSD&#xff09;往往需要大量试错…...