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

C语言蓝桥杯:语言基础

竞赛常用库函数

最值查询

min_element和max_element在vector(迭代器的使用)

nth_element函数的使用

例题lanqiao OJ 497成绩分析

第一种用min_element和max_element函数的写法

第二种用min和max的写法

二分查找

二分查找只能对数组操作

binary_search函数,用于查找数字是否存在(前提是数组已经排完序)

lower_bound(st,ed,x)获取第一个大于等于x的元素的地址

和upper_bound(st,ed,x)获取第一个大于x的元素的地址

地址-首地址=下标

使用这两个的前提是数组必须为非降序

如果你应要用降序,会出现于实际不符的情况

例题:lanqiao OJ 1389二分查找数组元素

大小写转换

islower(用于检查是否是小写字母)/isupper(用于检查是否是大写字母)函数

tolower(转换为小写字母)/toupper(转换为大写字母)函数

用ascil实现大小写转换

实现大小写转换的方法,使用库函数的方法

实现大小写转换的方法,使用ascil的方法

全排序

next_permutation()函数

next_permutation()函数想要得到全部的排列第一数列必须是最小的如1,2,3,用迭代器的写法

next_permutation()函数用数组的写法

prev-permutation()函数函数想要得到全部的排列第一数列必须是最大的如3,2,1

通过结果可知运行到最后它会返回到第一个运行的数列

其他库函数

memset()函数

第一参数是所指地址块,第二个为要设置的值,第三个为重置的元素

memset()函数的解释

swap()函数

reverse()函数

reverse()函数的解释

unique()函数

unique函数的解释

unique()说明

STL

pair

pair的定义和结构

pair的定义和结构解释

pair的嵌套

pair自带排序规则

pair代码示例

vector

vector的定义

vector的特性

vector的常用函数注意for循环遍历迭代器的时候里面判断时不能用大于号或者小鱼号可以用不等或者等于号,如下面it!=vec.end(),迭代器返回的是地址所以我们打印需要解引用

vector排序去重

list

list的定义

list的结构

vector和deque是连续的存储空间,list是不连续的存储空间

list的常用函数

stack

stack的定义和结构

stack的常用函数

queue队列

priority_queue优先队列

第一种方式priority_queue优先队列自定义比较函数,最小堆的写法return大于号

第二种方式priority_queue优先队列自定义比较函数,最小堆的写法return大于号

第三种方式priority_queue优先队列不用自定义函数的方法,实现最小堆的写法在priority_queue里面加入greater<>

deque双端队列

例题队列 lanqiao OJ 1113

例题 lanqiao OJ 741 合并果子

set集合

set集合的函数

set集合修改set比较的方法

set集合默认为升序排列

用greater<int>就变为降序了

set集合用仿函数的写法实现降序

multiset多重集合

multiset多重集合有哪些函数

如果想要删除重复元素的第一个重复元素的第一个可以用st.erase(st.find(x))

unordered_set无序集合

unordered_set无序集合可用的函数

set集合代码示例

multiset多重集合案例

equal_range()函数解释多重集合里的函数

C++ STL中multiset equal_range()函数|极客教程 (geek-docs.com)

unordered_set无序集合示例

map

map中的函数

map代码示例

multimap

multimap中的函数

multimap代码示例

unordered_map

unordered_map中的函数

unordered_map代码示例

总结例题

例题01 3226宝藏排序

例题02 1624小蓝吃糖果

用priority_queue优先队列的写法

用max函数的写法

例题03 2490小蓝的括号串1

04 1531快递分拣

小明和完美序列

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 小程序的右侧抽屉开关动画手写效果
  • javascript如何打印九九乘法表
  • Computer Exercise
  • 笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel与内核进程
  • C语言知识体系思维导图
  • 【828华为云征文|手把手教你如何用华为云Flexus X实例部署之前爆火的“人生重启“游戏】
  • EP8 我的页面布局
  • Win10系统Legacy转UEFI
  • 红海云 × 紫光同芯 | 数字化驱动芯片领军企业人力资源管理新升级
  • Vue项目异常:has no default export.Vetur(1192)
  • 基于Flink的流式计算可视化开发实践之配置->任务生成->任务部署过程
  • 动手学深度学习(pytorch土堆)-04torchvision中数据集的使用
  • C++:类与对象——详解继承、多继承、虚继承
  • SQL进阶技巧:每年在校人数统计 | 区间重叠问题
  • Python网络爬虫:如何高效获取网络数据
  • __proto__ 和 prototype的关系
  • canvas 高仿 Apple Watch 表盘
  • create-react-app项目添加less配置
  • echarts花样作死的坑
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js递归,无限分级树形折叠菜单
  • markdown编辑器简评
  • miaov-React 最佳入门
  • Spring Boot快速入门(一):Hello Spring Boot
  • 基于遗传算法的优化问题求解
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 区块链共识机制优缺点对比都是什么
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何编写一个可升级的智能合约
  • 深度学习入门:10门免费线上课程推荐
  • 实现简单的正则表达式引擎
  • 用mpvue开发微信小程序
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #NOIP 2014# day.1 T2 联合权值
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (3)选择元素——(17)练习(Exercises)
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)VirtualBox安装增强功能
  • (转)Google的Objective-C编码规范
  • .net CHARTING图表控件下载地址
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net Core与存储过程(一)
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET连接数据库方式
  • .NET面试题(二)
  • .project文件
  • /etc/fstab和/etc/mtab的区别
  • @Data注解的作用
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [Angular 基础] - 自定义指令,深入学习 directive