刷算法题基础

vector
  • 定义

    • vectorv(10); 默认10个元素都为0

    •   vector<int>v1;
        v1.resize(8);默认元素都为0
      
    •   vector<int>v3(100,9);100个元素初始化为9
      
  • 下标访问 迭代器访问 允许迭代器加上整数的写法如 vi.begin()+3

  • v.push_back() v.pop_back()

  • v.clear()清空所有 通用

  • v.insert(it,x) it为迭代器

  • v.erase()

    • v.erase(it) 删除迭代器为it的元素
    • v.erase(first,last)删除两迭代器之间的元素
v[v.begin()]=v[0];
set
  • 迭代器访问
  • s.insert(x) 自动排序去重
  • s.find(value)返回set中对应迭代器
  • s.erase()
    • s.erase(it)it为要删除元素的迭代器 结合find用
    • s.erase(value)value为要删除元素的值
    • s.erase(first,last)删除两迭代器间的元素

适用于需要去重但不方便直接开数组的情况

string
  • 下标、迭代器访问

  • 可直接用+来拼接字符串 直接用> < =等符号来比较

  • insert

    • str.insert(pos,string)在pos位置插入字符串
    • str.insert(it,it2,it3)it 为原字符串某位置,it2 it3是待插字符串的首尾迭代器
  • str.substr(pos,len)返回从pos位开始,长度为len的子串

    • str.substr(pos)返回从pos位开始直到末尾的子串
  • str.find()

    • str.find(str2)当str2是str的子串时,返回其在str中第一次出现的位置,如果没有返回-1
    • str.find(str2,pos)从pos位开始匹配str2
  • replace()

    • str.replace(pos,len,str2)把str从pos位开始、长度为len的子串替换为str2
    • str.replace(it1,it2,str2)把str的迭代器[it1,it2)范围的子串替换为str2
map
  • 下标访问 迭代器访问

  • m.find(key)返回键为key的迭代器

  • erase()

    • mp.erase(it)it是需要删除元素的迭代器

    • mp.erase(key)key为删除元素的键

    • mp.erase(first,last)删除两迭代器间的元素

queue
  • q.front() q.back()
  • q.push() q.pop()
  • q.empty()
priority_queue
  • q.push() q.pop()
  • q.top()
  • q.empty()
stack
  • q.push() q.top() q.pop()q.empty()
algorithm
  • max(x,y) min(x,y) x,y可为浮点数

  • abs(x) x必须是整数 math头文件的fabs(x)可为浮点数

  • swap(x,y)

  • reverse(it,it2)it可为数组指针或迭代器

  • next_permutation() 给出一个序列在全排列中的下一个序列到达最后一个时返回false

  • fill()

  • sort()

插入删除查 找
vectorv.insert(it,x)v.erase(it) v.erase(first,last)
sets.insert(x)s.erase(it) s.erase(value) s.erase(first,last)s.find(value)
stringstr.insert(pos,string) str.insert(it,it2,it3)str.find(str2) str.find(str2,pos)
mapmp.erase(it) mp.erase(key) mp.erase(first,last)m.find(key)

cctype头文件

  • islower(a)判断小写字母

    if(islower(a))...
    
  • isupper(a)判断大写字母

  • isalpha(a)判断大小写

  • isalnum(a)大小写加数字

  • isblank(a) space和\t

  • isspace(a) space、\t,\r,\n

  • tolower(a) toupper(a)把某个字符转为小写或大写

    char c='A';
    char t=tolower(c);
    
auto 声明

自动识别定义任意变量类型

to_string
string s1=to_string(123);
string s2=to_string(1.23);

可以把数字转化为string类型变量

stoi、stod
string str="123";
int a=stoi(str);

可以把string转化为int double float

stoll(string to long long)

刷题模板
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm> 
#include<map>
#include<vector>
#include<queue>  
using namespace std;   
    

int main(){    
#ifdef ONLINE_JUDGE    
#else    
    freopen("1.txt", "r", stdin);    
#endif    


	/* your code */
  
    return 0;    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值