算法 复习的一些知识点
-
c++ 的数组初始化
- fill
- memset
-
c++ 的排序
-
c++ 的vetor
-
快速幂
-
m&1(位运算符)
-
dfs和bfs
-
逆序对(使用归并算法解决)
-
Java 的 map,list,set 区别
-
动态规划(dp) 背包问题(背包九讲)链接
-
并查集
数组的初始化
// 头文件# include<string.h>
// 头文件 #include<cstring>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
void pr(int a[]){
int i=0;
for(i=0;i<10;i++){
printf("%d ", a[i]);
}
printf("\n");
return ;
}
int main(int argc, char const *argv[])
{
int a[10];
memset(&a,0,sizeof(a));
pr(a);
memset(&a,11,sizeof(a));
pr(a);
fill(a,a+10,100);
pr(a);
}
结果为
0 0 0 0 0 0 0 0 0 0
185273099 185273099 185273099 185273099 185273099 185273099 185273099 185273099 185273099 185273099
100 100 100 100 100 100 100 100 100 100
memset 和fill 区别
- memset以字节为单位,初始化内存块。所有初始化工作的过程中,这种初始化速度最快
- memset 只能设置 0 1 -1,设置其他的值 有点麻烦
- fill 可以设置任何值