高三一年没有接触代码……现在连语法都有点不自信了…CSDN的文章写法也快淡忘了…所以写几篇来复习一下之前的内容
首先是语法
1、头文件(其实是 预编译命令,头文件是指尖括号里面的词):
#include<bits/stdc++.h>//流氓的万能头
#include<iostream>//标准输入/输出库
#include<cmath>//数学函数库,可以用square、abs、
#include <cstdio>
#include <fstream>
#include <algorithm>//函数的、、、
#include <deque>
#include <vector>//向量
#include <queue>//队列
#include <string>
#include <cstring>
#include <map>
#include <stack>//栈
#include <set>
#include<climits>//INT_MAX;INT_MIN找到最大值最小值
注意,可以用尖括号或双引号(如"user"),双引号用于个人编写库,预编译器会优先到用户的目录中寻找相应文件,找不到再去系统标准库中找。
2、各种函数
#include<cmath.h>
abs();//求绝对值,对double、float、long double类型生效,不支持int类型,作用是求数据的绝对值,从C++11开始,增加了对int整型数据类型的支持。
3、输入
正常的输入输出流cin cout
cin.get()可以接收空格,每次收一个
cin.get(ch);
ch = cin.get();
4、奇怪的小知识点吧应该算
//float的eps小差量
float eps = 1e-9;//小值
float a,b;
if(abs(a-b)<eps)//a==b
5、STL容器
queue
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
priority_queue<int,vector<int>,greater<int> > que;//向量 可改方向啦
//=priority_queue<int>que;//less从大到小输出,greater从小到大输出
//priority_queue<int>p; //遵从less
int main(){
int n;
cin>>n;
for(int i=0,x;i<n;i++){
cin>>x;
que.push(x);
}
while (!que.empty()){
cout<<que.top() <<" ";
que.pop();
}
return 0;
}
set
#include<iterator>
#include<cstdio>
#include<set>
using namespace std;
multiset<int> s;
int n,maxv,minv;
int main(){
read(n);
multiset<int>::iterator it;
multiset<int>::reverse_iterator rit;
for(int i=0,m,x;i<n;i++){
read(m);
for(int j=0;j<m;j++){
read(x);
s.insert(x);
}
it = s.begin() ;minv = *it;
rit = s.rbegin() ;maxv = *rit;
s.erase(it);
it = s.lower_bound(maxv);
s.erase(it);
printf("%d %d\n",minv,maxv);
}
return 0;
}
先写到这里,基础内容要补充再来补充