备战蓝桥笔记

一、头文件及其使用

#include ‘algorithm’

  1. lower_bound()

    <–利用二分法找到大于等于某值的第一次出现–>

    <–在数组a中找到大于等于m的第一次出现–>

    e.g. lower_bound(a, a + n, m)

  2. sort(a[29], a[29] + 30);

    <–两个参数为默认升序,第三个参数在最后,为函数名,自定义升降–>

  3. reverse(&a[0], &a[30]);

    <–反转数组a下标从0到30的数–>

#include ‘sstream’

void i2s(int i, string &s)  //进行类型转换
{
	stringstream ss;
	ss << i;
	ss >> s;
}

i2s(a, _a);
_a.length()  //利用length()函数求得字符串a的长度

#include ‘cstring’

char s[100];
cin >> s;
strlen(s);

STL库

1、set容器

#include <algorithm>  //对应调用find函数
#include <set>		//set容器中元素自动排升序,去重

	set<int> su;
	su.insert(2);  //插入2
	su.find(m) == su.end()  //没有找到m
	
/* while循环使用迭代器输出,其中iter为指针 */

   set<int>::iterator iter = ans.begin();
   while(iter != ans.end()) 
   	{
   		cout << *iter << endl;
   		iter++; 
   	}
/* for循环使用迭代器输出 */

   for(set<int>::iterator iter = ans.begin(); iter != ans.end(); iter++)
   	{
   		cout << *iter << endl;
   	}

2、vector容器

#include <vector>	//向量容器可动态分配内存
vector<int> ans;

ans.push_back(100);  //插入100
ans.push_back(90);   //尾部插入90
ans.push_back(200);  //尾部插入200
ans.pop_back();  	 //删除最后一个元素

vector<int>::iterator iter = ans.begin();
while(iter != ans.end())  //按插入顺序输出
{
	cout << *iter << endl;
	iter++; 
}

//vector的输出也可以:
	cout << ans[1] << endl;

3、map容器

#include <map>  //映射的函数关系

	map<int, int> cnt
	
	/* 例如记录余数 */
// 		s[i] = (s[i - 1] + a[i]) % k;
//		cnt[s[i]]++;

二、单个字符

char a;

  1. scanf(" %c",&a); <–注意留个空格–>

    printf("%c",a);

  2. cin >> a;

    cout << a;

  3. a = getchar();

    putchar(a);

一般情况用1、2
录入只能英文

三、读取字符串

char s[100];

  1. scanf("%s", s); <–s前面可以带&–>

  2. cin >> s;

  3. gets(s); <–不推荐–>

  4. cin.get(s, 100);

  5. fgets(s, 99, stdin) <–数组最后一个是\0–>

    len = strlen(s) - 1 <–fgets函数会录入输入时的回车–>

一般情况用1、2
录入中英文皆可,注意1、2不能接受空格

杂碎点

1. long long类型最好放在函数外面,特别是long long a[30][30]这类,必须放在函数外

2.

int a[N][N]; 

memset(a, 0, sizeof(int) * N * N);  //需头文件#include <cstring>

这段代码表示,将二维数组a中所有数字初始化为0

3. 调用长度函数:

① char s[100] 对应 strlen(s)

② string s 对应 s.length()

③ int a[ ] 对应 sizeof(a) / sizeof(int)

若输入s,遇空格即停止记数;
若定义char s[100] = “abc de”,则strlen(s) = 6
同理,string s = “abc de”,则s.length() = 6

4. #include <bits/stdc++.h> 是一个万能头文件,包含所有可用到的C++库函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要告别理想怎算活過

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值