数组
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据
随机下标访问为O(1)
$address = base + n*btye$
二维数据随机地址
$address = base + (i*btye + j)*byte$
插入删除时间复杂度
$(1 + 2 + 3 +4 ...n) / n = O(n)$
随机访问时间复杂度
$(1 + 2 + 3 +4 ...n) / n = O(n)$
小心c语言数据越界,可能是造成很难发现的bug
int main(int argc, char* argv[]){
int i = 0;
int arr[3] = {0};
for(; i<=3; i++){
arr[i] = 0;
printf("hello world\\n");
}
return 0;
}
会死循环哦,当然也和编译器会有点关系
LeetCode数组练习
题解
记得先自己试着做一做再看我的题解哦
评论区