1.pair用法:
queue<pair<int,int>> q;
q.first=1;
q.second=2;
意思:pair内只有两个存储,第一个叫first,第二个叫second;
也可以自定义函数:
struct node{
int x,y;
}edge[100000];
2.大根堆
priority_queue<int>q;
3.指针:
pi是a的地址。若a改变,*pi也随之改变;若 *pi改变,a也随之改变。
int *pi;
*pi=a;
change(a);
cout<<*pi<<endl;
但是,如果cout<<pi;
就是输出它的位置,很大的一个数。
5也有提及。
4.x->next意思是x的next,把->看作’的’
struct node {
node *next;
int where, cost;
} *first[100001], a[200001];
for (node *x = first[m]; x; x = x->next)
5.参数回传
int *pi;
inline void f(int &i) {
i += 10;
cout << i << '\n';
}
int main() {
int a = 9;
pi = &a;
*pi += 9;
cout << a << '\n';
cout << *pi << '\n';
a[9]+=15;
cout << a << '\n';
cout << *pi << '\n';
f(a);
cout << a << '\n';
cout << *pi << '\n';
return 0;
}
6.long long与int与double
long long:1E18
int:1E9
double:1E5