东莞做网站软件,管理咨询公司的信息获取渠道,python在线编程题库,游戏开发巨头中文版下载最近开始在“牛客网”上做题#xff0c;希望通过日积月累#xff0c;每天记录一点小知识#xff0c;每天前进一小步。
今天练习的题目关于数组。
1. 数组存储#xff1a;链式存储、顺序存储 线性表逻辑上是线性的#xff0c;存储上可以是顺序的#xff0c;可以是链式的…最近开始在“牛客网”上做题希望通过日积月累每天记录一点小知识每天前进一小步。
今天练习的题目关于数组。
1. 数组存储链式存储、顺序存储
线性表逻辑上是线性的存储上可以是顺序的可以是链式的 链式存储可以连续可以不连续存储时不管其连续还是不连续都是用指针指向下一个结点 2.顺序存储的根据数组指针直接定位在顺序表的任何位置上插入一个数据元素平均需要移动n/2个数据元素算法效率为On
3.稀疏矩阵
有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(66) 解析每个元素要用行号,列号,元素值来表示,由于二维稀疏矩阵的大小都是在256之内所以行号和列号只需要char来存储。在用三元组表示稀疏矩阵,还要三个成员来记住,矩阵的行数列数,总的元素数,所以所需的字节数是10*111*23*2664.关于 int a[10]; 问下面哪些不可以表示 a[1] 的地址
A. asizeof(int) // 不正确 在32位机器上相当于指针运算 a 4 B. a[0]1 // 正确数组首元素地址加1根据指针运算就是a[1]的地址 C. (int*)a1 // 正确数组地址被强制类型转换为int*然后加1这样和B表示的一个意思 D. (int*)((char*)asizeof(int)) // 正确数据地址先被转换为char*然后加4根据指针运算公式向前移动4 * sizeof(char)之后被转换为int*显然是a[1]的地址 5.基址
假设以行序为主序存储二维数组Aarray[100][100]设每个数据元素占2个存储单元基地址为10则A[55]的地址为1020。 解析A[5][5]的地址为5*100*25*2101020千万不要忘记基址是10不是0