c++学习遇到的知识点汇总


前言

提示:这里可以添加本文要记录的大概内容:
记录刷数据结构与算法的过程中遇到的C++知识点


提示:以下是本篇文章正文内容,下面案例可供参考

一、零碎知识点总结

(1)交换数值的三种常见方法:

//通过标准库函数
 swap(s[i],s[j]);
 
//建立临时变量
int tmp = s[i];
s[i] = s[j];
s[j] = tmp;

//通过位运算
s[i] ^= s[j];
s[j] ^= s[i];
s[i] ^= s[j];

a^=b相当于a=a ^ b;

“^” 异或就是两个数的二进制形式,按位对比,相同取0,不同取1。
通俗理解:a=3,b=4;
第一步:3^4=7; a=a ^ b a=7;
第二部:4^7=3; b=b ^ a b=3;
第三步:7^3=4; a=a ^ b a=4;
(2) 扩充字符串数组大小(抽时间总结一下string)
string s;
s.resize(s.size()+2*count);

(3)什么是split库函数,是干什么的?(了解一下split的用法)

一些同学会使用split库函数,分隔单词,然后定义一个新的string字符串,最后再把单词倒序相加,那么这道题题目就是一道水题了,失去了它的意义。

二、C++ deque::pop_front()、deque::pop_back()用法及代码示例

1.双端队列

双端队列或双头队列是序列容器,两端都有扩展和收缩函数。它们类似于向量,但是在元素的结尾和开始处插入和删除时效率更高。与向量不同,可能无法保证连续的存储分配。

(1)双端队列::pop_front()

pop_front()函数用于从双端队列的前边弹出或删除元素。从一开始就从双端队列中删除该值,并将容器大小减小1。(思考:这个是双端队列在两个方向上都可以插入和删除元素,和普通队列的先进先出不一样)

(2) 双端队列::push_front( )

push_front()函数用于从双端队列的前边插入元素。(一般的不是双端队列的队列都是在队尾添加元素,双端队列可以在队列的头部添加元素)

(3)双端队列::pop_back()

pop_back()函数用于从的双端队列尾部弹出或删除元素。从末尾从双端队列中删除该值,并将容器大小减小1。

(4)双端队列::push_back()

push_back()函数用于从双端队列的尾部插入元素


思考:第一、关于deque容器
deque是一个双端队列,deque是栈的一种底层实现(栈的底层实现可以是vector、deque、list)
std::queue<int std::deque<int>> third;//定义以deque为底层容器队列
std::queue<int std::list<int>> third;//定义以list为底层容器队列
std::stack<int std::vector<int>> third;//定义以list为底层容器队列

关于pair<int ,int >

pair是C++中一种模板类型。每个pair对象可以存储两个值,这两个值可以是不同的数据类型。存储的值可以是基本数据类型也可以是自定义数据类型。<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值