2021-1-20

C++

从头文件开始。
最先接触的是俗称的万能头文件-#include<bits/stdc++.h>,一般来说使用c++的话,一个这个就够用了。但是,今天做题的时候还是碰到了什么不能用这个头文件的地方,也就顺带着看了看头文件这一块。不得不说,c++确实会简便很多。在使用stack,queue还有string这些模块的时候,只用#include<巴拉巴拉>什么的就够了,其他还有:
#include     //STL通用算法
#include     //定义输入/输出函数
#include     //定义杂项函数及内存分配函数
我也就知道这一点点,还有每次都要打上的 using namespace std。不过有一说一,cin还有cout确实好用。

接下来就是对几个模块的简单接触。直观上最容易感受的是queue和stack,队和栈。一个是先进先出,一个是后进先出。形式上都是有蛮多相似的地方。push()用来堆入,pop用来拿出,都是只能对固定位置进行处理。队有front还有back指向首尾两个位置,栈貌似就只有top?
queue队列,先进先出(FIFO)
构造函数: queue< int >qu;
常用函数:
push() 接到队列末端
pop() 删除队列中最靠前位置的元素
front() back() size()
empty() 判断容器是否为空

stack
堆栈,先进后出(FILO)

构造函数:stack< int >st;
常用函数:push() pop() size() empty()
top() 取出栈顶元素,不会删掉栈里边的元素

之后还有set和vector。set倒是用了一会,这就像一个顺序固定的集合,特定问题挺好用的吧。不过还留有一个问题,用内啥,编译器?

set
集合,元素有序排列、不重复

构造函数: set< int >se
常用函数:insert() erase() find() size() clear()
count() 元素计数
lower_bound(x):大于等于x的第一个元素位置,不存在返回end()
upper_bound(x):大于x的第一个元素位置,不存在返回end()

这玩意儿有点不清楚,不过用set的话,find的二分法倒是挺有用的,虽然和bsearch一样,不过总归用的地方不一样。说到这,就想到sort和qsort,sort是简洁一点,不过sort和结构体的搭配使用我还是得看看。
后面还有啥map,这个就听听过,也没用到过,vector也就听听过,但也是没有用过。至于list,链表这玩意儿,我感觉我单向链表和什么,反转链表??啥的还不是特别特别透彻,这个再搞搞吧。再看看,发现还有reverse什么东西的,再看再看吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值