一些基础函数

链表

ListNode* p=new ListNode(0,head);

栈和队列

stack——

stack<int> st;
st.push(1);
st.push(2);
// st: 1 2
st.top(); // 2
st.size(); // 2
st.pop(); // st: 1
st.empty(); // false

queue——

queue<int> que;
que.push(1);
que.push(2);
// que: 1 2
que.front(); // =1
que.back(); // =2
que.size(); // 2
que.pop(); // que: 2
que.empty(); // false

deque——

deque<int> deq;
deq.push_back();
deq.push_front();
deq.pop_back();
deq.pop_front();
deq.front();
deq.back();
deq.size();
deq.empty();

// 小顶堆
class mycomparison {public:bool operator()(const pair<int, int>& lhs, const pair<int, int>& rhs) {return lhs.second > rhs.second;}
};
// 定义一个小顶堆,大小为k
priority_queue<pair<int, int>, vector<pair<int, int>>, mycomparison> pri_que;pri_que.push(元素);
pri_que.pop();
pri_que.top();
pri_que.size();

数组

vector<int> vec(数组长度,初始化的值);
vec.push_back(元素);
vec.pop_back();
vec.insert(插入下标,插入元素);
vec.size();
vec.clear(); // 只能清除vector里面的数据,但是内存空间没有释放
vec.begin();
vec.end();

set

//优先使用unordered_set,因为它的查询和增删效率是最优的
//如果需要集合是有序的,那么就用set
//如果要求不仅有序还要有重复数据的话,那么就用multisetunordered_set<int> result_set;
unordered_set<int> nums1_set(nums1.begin(),nums1.end());//保证nums1一定包含nums2的所有元素
//如何遍历
for(int num:nums2){if(nums1_set.find(num)!=nums1_set.end()){ //找不到numresult_set.insert(num);//插入num}
}result_set.begin();
result_set.end();

map

std::unordered_map<int,int> map;auto iter=map.find(键);
if(iter!=map.end()) return {iter->second,i}; //如果找到了某键,就返回它的值
map.insert(pair<int,int>(nums[i],i));//插入键值对// 使用迭代器扫map
for(unordered_map<int, int>::iterator it = map.begin(); it != map.end(); it++)

 

字符串

string str=s.substr(起始下标,结束下标); //分割字符串
reverse(起始下标,结束下标); //反转字符串
s.insert(开始插入的下标位置,插入的字符串); // 字符串中插入
s.erase(删除的起始下标,删除的长度); // 字符串中删除
s.compare(ss);
s.replace(起始下标,长度,要替换为的字符串);reverse(s.begin(),s.end());
s.push_back(char c);
s.pop_back();
s.empty();
s.back(); // 返回尾部元素
s.front(); // 返回头部元素//数值转string——
to_string(num);
//string转数值——
#include <srting>
stoi(str); // 转int
stol(str); // 转long
stoll(str); // 转longlong

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457022.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 动态数据 展示 ,数据是由51单片机发送过来的,温度传感器。

import tkinter as tk import randomimport seriallis[] for i in range(50):lis.append(i1) # 打开串行端口 ser serial.Serial(COM3, 9600) # 9600为波特率&#xff0c;根据实际情况进行调整# 初始化数据 lis [random.randint(15, 35) for _ in range(50)]def update_data…

golang 引入swagger(iris、gin)

golang 引入swagger&#xff08;iris、gin&#xff09; 在开发过程中&#xff0c;我们不免需要调试我们的接口&#xff0c;但是有些接口测试工具无法根据我们的接口变化而动态变化。文档和代码是分离的。总是出现文档和代码不同步的情况。这个时候就可以在我们项目中引入swagge…

[自然语言处理|NLP] 文本分类与情感分析,数据预处理流程,包括了同义词替换和拼写纠正,以及使用NLTK库和TextBlob库进行标记化和情感分析(附代码)

[自然语言处理|NLP] 文本分类与情感分析,数据预处理流程,包括了同义词替换和拼写纠正,以及使用NLTK库和TextBlob库进行标记化和情感分析(附代码)。 自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,涉及了处理和理解人类语言的技术…

网工内推 | 上市公司运维岗,红帽认证优先,带薪年假,节日福利

01 捷科智诚 招聘岗位&#xff1a;配置管理岗-运维 职责描述&#xff1a; 1.负责日常配置管理平台的维护及优化&#xff0c;包括权限管理、基线管理、版本管理、发布管理、变更管理等&#xff1b; 2.负责维护各个管理平台的用户管理、权限管理、项目初始化等工作&#xff1b; …

睿尔曼超轻量仿人机械臂-- RM65-B手眼标定使用说明

一、前言 机器人的视觉系统分为固定场景视觉系统和运动的「手-眼」视觉系统。相机与机器人手臂末端&#xff0c;构成手眼视觉系统。根据相机在机器人安装位置的不同&#xff0c;手眼视觉系统分为Eye-in-Hand系统&#xff08;眼在手上&#xff09;和Eye-to-Hand系统&#xff08…

【芯片设计- RTL 数字逻辑设计入门 10 -- 奇偶校验实现】

文章目录 奇偶校验单目运算符&#xff08;|,^,&&#xff09;verilog codeverilog codetestbench code 问题总结 奇偶校验 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果。 实际上这里做的是奇偶检测&#xff0c;如果是奇数个 1 则结果为 1&#xff0c;使用…

代码随想录算法训练营第四十五天(动态规划篇)|01背包

01背包理论基础 学习资料&#xff1a;代码随想录 (programmercarl.com) 相关链接&#xff1a;题目页面 (kamacoder.com) 背包题目分类 01背包定义 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次…

uniCloud ---- schema2code

目录 schema2code有两种方式 label属性 component属性 group属性 应用 DB Schema里有大量的信息&#xff0c;其实有了这些信息&#xff0c;前端将无需自己开发表单维护界面&#xff0c;uniCloud可以自动生成新增、修改、列表、详情的前端页面&#xff0c;以及admin端的列…

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-8.16再使用微信3.9.7.29

在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-8.16再使用微信3.9.7.29 《在openSUSE-Leap-15.5-DVD-x86_64中使用deepin-wine-6.0.0.62再使用微信3.9.5》 https://blog.csdn.net/weixin_42145772/article/details/135074804?spm1001.2014.3001.5501 按照上面文章的方法…

【iOS ARKit】人形提取

为解决人形分离和深度估计问题&#xff0c;ARKit 新增加了 Segmentation Buffer&#xff08;人体分隔缓冲区&#xff09;和Estimated Depth Data Buffer&#xff08;深度估计缓冲区&#xff09;两个缓冲区。人体分隔缓冲区作用类似于图形渲染管线中的 Stencil Buffer&#xff0…

挂耳耳机哪个牌子好?推荐几款性价比超高的挂耳耳机

在寻求更轻便舒适的听音体验时&#xff0c;挂耳耳机逐渐成为众多用户的优先选择。市场上各式各样的耳挂耳机琳琅满目&#xff0c;种类繁多&#xff0c;挂耳耳机哪个牌子好&#xff1f;为了帮助大家更好地了解耳挂耳机的市场状况&#xff0c;我推荐几款性价比超高的挂耳耳机。 挂…

《Python 网络爬虫简易速速上手小册》第7章:如何绕过反爬虫技术?(2024 最新版)

文章目录 7.1 识别和应对 CAPTCHA7.1.1 重点基础知识讲解7.1.2 重点案例&#xff1a;使用Tesseract OCR识别简单CAPTCHA7.1.3 拓展案例 1&#xff1a;使用深度学习模型识别复杂CAPTCHA7.1.4 拓展案例 2&#xff1a;集成第三方 CAPTCHA 解决服务 7.2 IP 轮换与代理的使用7.2.1 重…