牛客网Leetcode刷题模板 C++ 笔记

28 篇文章 0 订阅
1 篇文章 0 订阅

1.模板&常见操作

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    while(n--){
    	xxxx
    return 0;
}

1.1 集合(set)

set<int> q;     //以int型为例 默认按键值升序

set具备的两个特点:
set中的元素都是排序好的
set中的元素都是唯一的,没有重复的
set就是关键字的简单集合。当只是想知道一个值是否存在时,set是最有用的。

set<int,greater<int>> p;  //降序排列 
int x;
q.insert(x);	//将x插入q中
q.erase(x);		//删除q中的x元素,返回0或1,0表示set中不存在x
q.clear();		//清空q
q.empty();		//判断q是否为空,若是返回1,否则返回0
q.size();		//返回q中元素的个数

q.find(x);		//在q中查找x,返回x的迭代器,若x不存在,则返回指向q尾部的迭代器即 q.end()
q.lower_bound(x); //返回一个迭代器,指向第一个键值不小于x的元素
q.upper_bound(x); //返回一个迭代器,指向第一个键值大于x的元素
q.rend();		  //返回第一个元素的的前一个元素迭代器
q.begin();		  //返回指向q中第一个元素的迭代器
q.end();		 //返回指向q最后一个元素下一个位置的迭代器
q.rbegin();		 //返回最后一个元素

1.2 字典/映射(map)

 map<int,int> mp;

2.数据结构

1.栈(stack)

stack<int>  s;
L.empty() 堆栈为空则返回真
L.pop() 移除栈顶元素
L.push(x) 在栈顶增加元素x
L.size() 返回栈中元素数目
L.top() 返回栈顶元素

2.队列(queue)

queue< int > q;
q.empty()               如果队列为空返回true,否则返回false
q.size()                返回队列中元素的个数
q.pop()                 删除队列首元素但不返回其值
q.front()               返回队首元素的值,但不删除该元素
q.push(x)                在队尾压入新元素x
q.back()                返回队列尾元素的值,但不删除该元素
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值