c++
构造函数
-
定义
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
-
EG
struct apple{ int size,color; apple (int _size,int _color){ size=_size; color=_color; } //作用 : apple(1,2)赋初值 }
#include <algorithm>
Sort
int数组
默认升序
sort(头指针, 尾指针+1 [,cmp])
降序cmp
int cmp(int a,int b){
return a>b;
}
struct
-
cmp函数
struct apple{ int color,size; }app[5]; //====cmp====降序==== bool cmp(apple a,apple b){ if(a.size != b.size) return a.size<b.size; return a.color<b.color; } //====sort==== sort(app,app+5,cmp);
-
友元
struct apple{ int color,size; //====重载 < ==== friend bool operator < (apple a,apple b){ if(a.size != b.size) return a.size<b.size; return a.color<b.color; } }app[5]; //====sort==== sort(app,app+5);
Pair
“打包”两个变量
pair<int,int> pr;
int main(){
pr =
}
#include <vector>
动态数组 / 向量——vector
-
定义
//<变量类型> vector <int> a[10]; //亦或 vector <int> a(10);
-
操作
1.push_back 在数组的最后添加一个数据 2.pop_back 去掉数组的最后一个数据 3.at 得到编号位置的数据 4.begin 得到数组头的指针 5.end 得到数组的最后一个单元+1的指针 6.front 得到数组头的引用 7.back 得到数组的最后一个单元的引用 8.max_size 得到vector最大可以是多大 9.capacity 当前vector分配的大小 10.size 当前使用数据的大小 11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值 12.reserve 改变当前vecotr所分配空间的大小 13.erase 删除指针指向的数据项 14.clear 清空当前的vector 15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1) 16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1) 17.empty 判断vector是否为空 18.swap 与另一个vector交换数据
#include<stack>
堆栈——stack
- size( ) :返回栈中元素个数
- top( ) :返回栈顶的元素
- pop( ) :从栈中取出并删除元素
- push(e) :向栈中添加元素e
- empty( ) :栈为空时返回true
#include<string>
读入一行:
string s;
getline(cin,s);