bool 1byte
char 1byte
Int 4byte -21477483648~2147483648
Float 4byte
Double 8byet 15~16位
Long long 8byte -263~263
Long double 12~16byte 18~19位
1 byte = 4字节
int %d
float %f
double: %lf
char :%c
long long: %lld
初始化数组 #include memset(m,a,b);
M表示数组 赋值a 到b结束 (a,b都以byte位单位)
复制数组void *memcpy(void *destin, void *source, unsigned n);
destin-- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
source-- 指向要复制的数据源,类型强制转换为 void* 指针。
n-- 要被复制的字节数。
例:memcpy(b,a,siceof a);
计算n的m次幂 #include pow(n,m)
字符串
string.pop_back 把字符串的最后一个字符删除
读入包含空格的字符串用
fgets(名称,数量,stdin) 会将回车读入
getline(cin,字符串)
字符串可以通过+运算连接字符
substr(起始索引,数量)
strcmp(str1,str2) 用于比较两个字符串并根据比较结果返回整数。
cin不读入空格,cout可以输出空格
stringstream ssin(string) 将字符串以流的方式读入,使得==》可以从字符串种直接提取需要的信息<
时间函数 int clock();
string.back()返回字符串的最后一个字符
string.pop_back去掉字符串最后一个字符
swap(a,b) 交换 a , b 的值(任意类型)
第一类双指针算法
使用了两个指针,求连续相同元素的个数
for(int i = 0;i<size;i++){ //i为初始指针,指向开头
int j = 1; //j为工具指针,判断当前元素是否和s[i]相等
while(i<size&&s[i] == s[j]) j++; //如果j所指元素与当前元素相等,则继续向前比较。
i = j-1;
}