算法 複習的一些知識點
-
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 可以設置任何值