以下关于字符串判定语句中正确的是( )
A. 字符串是一种特殊的线性表
B. 串的长度必须大于0
C. 字符串不可以用数组表示
D. 空格字符组成的串就是空串
参考答案 A
字符串本质就是字符数组,它可以字符数组互相转换,所以BCD都是错误的。
线性表若采用链表存储结构,则要求内存中可用的存储单元地址( )
A. 必须连续
B. 部分地址必须连续
C. 一定不连续
D. 连续或不连续都可以
参考答案 D
顺序存储地址空间是连续的,比如数组。用链表的优势就是存储的地址可以不连续。
数组不具有的特点是( )
A. 插入删除不需要移动元素
B. 可随机访问任一元素
C. 是一块连续的内存空间
D. 所需空间与线性长度成正比
参考答案 A
因为存储空间是连续的,所以插入或删除数据的时候必须移动元素,让存储空间连续起来。
一个顺序表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()
A. 110
B. 108
C. 100
D. 120
参考答案 B
100+(5-1)×2,结果是B
元素的存储地址指的是存储位置的开始地址。
在长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要向前移动( )个元素
A. n
B. i-1
C. n-i
D. n-i+1
参考答案 C
注意:这里的第i个,并不是下标 i;
这种题目,直接代入特例就可以了,比如n=5,i=4,很显然移动1个就可以了。
某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入与删除运算,则利用( )存储方式最节省时间
A. 顺序表
B. 双链表
C. 带头结点的双循环链表
D. 单循环链表
参考答案 A
顺序表的优势就是存取速度很快,通过下标(地址移动)就可以快速定位到元素。
但是插入删除需要移动元素,效率相对于链表来说效率较低。但本题是在最后插入删除,是不需要移动元素的。
在一个长度为n的顺序表中删除第i个元素,要移动( )个元素。如果要在第i个元素前插入一个元素,要后移( )个元素
A. n-i,n-i+1
B. n-i+1,n-i
C. n-i,n-i
D. n-i+1,n-i+1
参考答案 A
注意:这里的第i个,并不是下标 i;
固定元素个数代入(如n=5,i=4);即可得到答案A是对的。