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

蓝桥杯练习日常|c/c++竞赛常用库函数(下)

书接上回......蓝桥杯算法日常|c\c++常用竞赛函数总结备用-CSDN博客

目录

书接上回......https://blog.csdn.net/weixin_47011416/article/details/145290017

1、二分查找

2、lower_bound  uper_bound

3、memset()

函数原型

参数说明

返回值

常见用法

4、swap()

5、reverse()

6、unique()


1、二分查找

vector<int> numbers={1.3.7.9}; 

banary_search(numbers.begin(),numbers.end(),target);在已经排好序的序列中查找特定值,返回bool值。

2、lower_bound  uper_bound

vector<int> v={1,5,2,7,9,2,10};sort(v.begin(),v.end());for(auto &i:v)cout<<i<<' ';cout<<'\n';cout<<(lower_bound(v.begin(),v.end(),8)-v.begin())<<'\n';

lower_bound(start地址,end地址,x)   返回从开始到结束左闭右开中第一个大于等于x的元素的地址。利用地址-首地址=下标得出下表的值。

upperbound(start地址,end地址,x)     返回左闭右开第一个大于x的元素的地址。

3、memset()

头文件<cstring>,用于将一段内存区域设置为指定的值。

函数原型

c复制代码

void *memset(void *s, int c, size_t n);

参数说明

  • s:指向要填充的内存区域的指针。
  • c:要设置的值,通常是一个无符号字符。
  • n:要被设置为该值的字节数。

返回值

该函数返回一个指向存储区 s 的指针。

常见用法

  • 初始化数组:可以使用 memset() 快速地将数组中的所有元素初始化为特定值,例如将一个整数数组清零或设置为某个特定的初始值。
  • 初始化结构体:对于结构体变量或结构体数组,可以使用 memset() 将其内存空间初始化为特定值,以便在后续使用中确保数据的一致性和安全性。
  • 清空内存区域:通过将 c 设置为0,memset() 可以用来清空一段内存区域,即将所有字节设置为0。这在释放内存之前清理数据结构或避免内存泄漏时特别有用。
#include<bits/stdc++.h>
int main(){
int a[5];
memset(a,0,sizeof(a));
for(int i=0;i<5;i++)cout<<a[i]<<'\n';
return 0;
}

4、swap()

  • 功能:用于交换两个对象的值。
  • 用法swap(a, b);其中 a 和 b 是要交换值的两个对象,它们必须是相同的类型。
  • 可以用于交换任意种类的变量,基本类型(整数,浮点)和自定义类型(结构体,类对象等)

5、reverse()

  • 功能:用于反转一个序列的元素,定义在 <algorithm> 头文件中。包括数组,向量,链表。
  • 语法template <class BidirectionalIterator> void reverse(BidirectionalIterator first, BidirectionalIterator last);
  • 参数first 和 last 用于指定要转换的数据范围 [first, last)
  • 注意事项:需要双向迭代器来工作,所以可以与 std::vectorstd::deque 和 std::list 之类的容器一起使用,但不能用于 std::set 和 std::map 这样的容器,因为它们的内部是有序的,不能做反转操作。

6、unique()

  • 用于除容器中相邻复元素的函数(!!必须相邻,如果不相邻,用sort排个序)
  • 用法:iterator unique(iterator it_1, iterator it_2);,表示对容器中 [it_1, it_2) 范围的元素进行去重,返回值是一个迭代器,指向去重后容器中不重复序列的最后一个元素的下一个元素。
  • 返回指向去重后范围的尾后迭代器

7、pow()

计算某数的n次方:

double base = 2.0; // 底数
int exponent = 3; // 指数
double result = pow(base, exponent); // 计算2

相关文章:

蓝桥杯练习日常|c/c++竞赛常用库函数(下)

书接上回......蓝桥杯算法日常|c\c常用竞赛函数总结备用-CSDN博客 目录 书接上回......https://blog.csdn.net/weixin_47011416/article/details/145290017 1、二分查找 2、lower_bound uper_bound 3、memset&#xff08;&#xff09; 函数原型 参数说明 返回值 常见用…...

Python vLLM 实战应用指南

文章目录 1. vLLM 简介2. 安装 vLLM3. 快速开始3.1 加载模型并生成文本3.2 参数说明 4. 实战应用场景4.1 构建聊天机器人示例对话&#xff1a; 4.2 文本补全输出示例&#xff1a; 4.3 自定义模型服务启动服务调用服务 5. 性能优化5.1 GPU 加速5.2 动态批处理 6. 总结 vLLM 是一…...

.NET MAUI 入门学习指南

引言 在当今移动应用和跨平台开发的热潮中,.NET MAUI(Multi - platform App UI)应运而生,为开发者提供了一种高效、统一的方式来构建跨多个平台(如 iOS、Android、Windows 等)的原生应用。它整合了 Xamarin.Forms 的优点,并在此基础上进行了诸多改进和创新,使得开发者…...

JavaScript系列(49)--游戏引擎实现详解

JavaScript游戏引擎实现详解 &#x1f3ae; 今天&#xff0c;让我们深入探讨JavaScript的游戏引擎实现。游戏引擎是一个复杂的系统&#xff0c;它需要处理渲染、物理、音频、输入等多个方面&#xff0c;让我们一步步实现一个基础但功能完整的游戏引擎。 游戏引擎基础概念 &am…...

AI如何帮助解决生活中的琐碎难题?

引言&#xff1a;AI已经融入我们的日常生活 你有没有遇到过这样的情况——早上匆忙出门却忘了带钥匙&#xff0c;到了公司才想起昨天的会议资料没有打印&#xff0c;或者下班回家还在纠结晚饭吃什么&#xff1f;这些看似微不足道的小事&#xff0c;往往让人疲惫不堪。而如今&a…...

K8s运维管理平台 - KubeSphere 3.x 和4.x 使用分析:功能较强,UI美观

目录标题 Lic使用感受优点&#xff1a;优化点&#xff1a; 实操首页项目 | 应用负载 | 配置 | 定制资源定义存储监控告警集群设置 **KubeSphere 3.x** 和 **4.x**1. **架构变化**&#xff1a;2. **多集群管理**&#xff1a;3. **增强的 DevOps 功能**&#xff1a;4. **监控与日…...

芯片AI深度实战:基础篇之langchain

基于ollama, langchain,可以构建一个自己的知识库&#xff0c;比如这个 Build Your Own RAG App: A Step-by-Step Guide to Setup LLM locally using Ollama, Python, and ChromaDB | HackerNoon 这是因为&#xff1a; 以上范例就实现了这样一个流程&#xff1a; 系列文章&…...

WordPress使用(1)

1. 概述 WordPress是一个开源博客框架&#xff0c;配合不同主题&#xff0c;可以有多种展现方式&#xff0c;博客、企业官网、CMS系统等&#xff0c;都可以很好的实现。 官网&#xff1a;博客工具、发布平台和内容管理系统 – WordPress.org China 简体中文&#xff0c;这里可…...

单机伪分布Hadoop详细配置

目录 1. 引言2. 配置单机Hadoop2.1 下载并解压JDK1.8、Hadoop3.3.62.2 配置环境变量2.3 验证JDK、Hadoop配置 3. 伪分布Hadoop3.1 配置ssh免密码登录3.2 配置伪分布Hadoop3.2.1 修改hadoop-env.sh3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改yarn-site.xml3.2.5 …...

【高内聚】设计模式是如何让软件更好做到高内聚的?

高内聚&#xff08;High Cohesion&#xff09;是指模块内部的元素紧密协作&#xff0c;共同完成一个明确且相对独立的功能。就像高效的小团队&#xff0c;成员们目标一致&#xff0c;相互配合默契。 低耦合&#xff08;Loose Coupling&#xff09;是指模块之间的依赖较少&#…...

10.2 目录(文件夹)操作

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 10.2.1 DirectoryInfo类 DirectoryInfo类可以获得目录信息。 DirectoryInfo常用属性&#xff1a; Name&#xff1a;获取Director…...

LiteFlow Spring boot使用方式

文章目录 概述LiteFlow框架的优势规则调用逻辑规则组件定义组件内数据获取通过 DefaultContext自定义上下文 通过 组件规则定义数据通过预先传入数据 liteflow 使用 概述 在每个公司的系统中&#xff0c;总有一些拥有复杂业务逻辑的系统&#xff0c;这些系统承载着核心业务逻…...

OSCP:Windows 服务提权详解

在Windows操作系统中&#xff0c;服务是一种特殊的后台进程&#xff0c;它们通常以较高的权限&#xff08;如 SYSTEM 或 Administrator&#xff09;运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升&#xff08;提权&#xff09;。本文将详细分析Windows服务提…...

星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)

文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现&#xff08;1&#xff09;分析接口请求&#xff08;2&#xff09;代码实现 3.功能测试&#xff08;1&#xff09;测试对话功能&#xff08;2&#xff09;测试记住上下文功能 三、基于JAVA实现HTTP流…...

21.Word:小赵-毕业论文排版❗【39】

目录 题目​ NO1.2 NO3.4 NO5.6 NO7.8.9 NO10.11.12 题目 NO1.2 自己的论文当中接收老师的修改&#xff1a;审阅→比较→源文档&#xff1a;考生文件夹&#xff1a;Word.docx→修订的文档&#xff1a;考生文件夹&#xff1a;教师修改→确定→接收→接收所有修订将合并之…...

Python中的函数(上)

Python中的函数是非常重要的编程概念&#xff0c;以下是详细的介绍&#xff1a; 函数定义基础 在Python中&#xff0c;函数是组织好的、可重复使用的代码块&#xff0c;用于执行特定任务。通过函数&#xff0c;我们可以将复杂的程序分解为较小的、更易管理的部分&#xff0c…...

Windows11 安装poetry

使用powershell安装 (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - 如果使用py运行失败则替换为python即可 终端运行结果如下 D:\AI\A_Share_investment_Agent> (Invoke-WebRequest -Uri https://install.python-poetry.…...

浅谈Linux 权限、压缩、进程与服务

概述 放假回家&#xff0c;对Linux系统的一些知识进行重新的整理&#xff0c;做到温故而知新&#xff0c;对用户权限管理、文件赋权、压缩文件、进程与服务的知识进行了一次梳理和总结。 权限管理 Linux最基础的权限是用户和文件&#xff0c;先了解基础的用户权限和文件权限…...

006 LocalStorage和SessionStorage

JWT存储在LocalStorage与SessionStorage里的区别和共同点如下&#xff1a; 区别 数据有效期&#xff1a; • LocalStorage&#xff1a;始终有效&#xff0c;存储的数据会一直保留在浏览器中&#xff0c;即使窗口或浏览器关闭也一直保存&#xff0c;因此常用作持久数据。 • Se…...

AJAX RSS Reader:技术解析与应用场景

AJAX RSS Reader:技术解析与应用场景 引言 随着互联网的快速发展,信息量呈爆炸式增长。为了方便用户快速获取感兴趣的信息,RSS(Really Simple Syndication)技术应运而生。AJAX RSS Reader作为一种基于AJAX技术的信息读取工具,在用户体验和信息获取方面具有显著优势。本…...

OpenClaw技能市场巡礼:Qwen3-32B生态实用工具

OpenClaw技能市场巡礼&#xff1a;Qwen3-32B生态实用工具 1. 为什么需要技能市场&#xff1f; 第一次接触OpenClaw时&#xff0c;我被它的基础能力震撼——能像人类一样操作我的电脑&#xff0c;完成文件整理、网页搜索等任务。但真正让我决定长期使用的&#xff0c;是发现它…...

实时手机检测模型应用场景:打电话检测、安防监控实战案例

实时手机检测模型应用场景&#xff1a;打电话检测、安防监控实战案例 1. 模型概述与技术优势 1.1 高性能检测框架DAMOYOLO 实时手机检测-通用模型基于DAMOYOLO-S框架开发&#xff0c;这是一种面向工业落地的高性能目标检测解决方案。相比传统YOLO系列方法&#xff0c;DAMOYO…...

从LiveData到Kotlin Flow:Pokedex响应式编程的终极演进指南

从LiveData到Kotlin Flow&#xff1a;Pokedex响应式编程的终极演进指南 【免费下载链接】Pokedex &#x1f5e1;️ Pokedex demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture. …...

Simple Form终极性能优化指南:如何实现Rails表单批量查询

Simple Form终极性能优化指南&#xff1a;如何实现Rails表单批量查询 【免费下载链接】simple_form Forms made easy for Rails! Its tied to a simple DSL, with no opinion on markup. 项目地址: https://gitcode.com/gh_mirrors/si/simple_form Simple Form是Rails生…...

时间管理大师:OpenClaw+nanobot自动规划每日日程

时间管理大师&#xff1a;OpenClawnanobot自动规划每日日程 1. 为什么需要AI日程规划助手 作为一个长期被多线程任务困扰的技术从业者&#xff0c;我一直在寻找能够真正理解我工作习惯的智能日程管理方案。市面上的日历应用大多只能机械地记录事件&#xff0c;而无法根据任务…...

OpenClaw+GLM-4.7-Flash:个人博客自动更新系统搭建

OpenClawGLM-4.7-Flash&#xff1a;个人博客自动更新系统搭建 1. 为什么需要自动化博客维护 作为一个技术博主&#xff0c;我每周至少要花3-4小时在博客维护上&#xff1a;构思主题、撰写内容、调整格式、发布更新。最痛苦的不是写作本身&#xff0c;而是那些重复性的机械工作…...

重新定义Windows桌面体验:Seelen UI如何让你告别千篇一律的界面

重新定义Windows桌面体验&#xff1a;Seelen UI如何让你告别千篇一律的界面 【免费下载链接】Seelen-UI The Fully Customizable Desktop Environment for Windows 10/11. 项目地址: https://gitcode.com/GitHub_Trending/se/Seelen-UI 厌倦了Windows千篇一律的桌面环境…...

Protocol Buffer 入门:跨平台的高效序列化神器

&#x1f525;个人主页&#xff1a;Milestone-里程碑 ❄️个人专栏: <<力扣hot100>> <<C>><<Linux>> <<Git>><<MySQL>> &#x1f31f;心向往之行必能至 目录 一、什么是 Protobuf&#xff1f; 二、序列化与反…...

【chat】Verilog命名规范实战指南:从文件到模块的优雅编码

1. Verilog命名规范的重要性 刚开始接触Verilog的时候&#xff0c;我总觉得命名规范是个可有可无的东西。直到有一次接手同事的代码&#xff0c;看到一堆乱七八糟的命名&#xff0c;才深刻体会到规范的重要性。那感觉就像走进一个没有标签的仓库&#xff0c;想找什么都得一个个…...

OpenBot开源代码平台:可视化编程与AI模块开发教程

OpenBot开源代码平台&#xff1a;可视化编程与AI模块开发教程 【免费下载链接】OpenBot OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for…...