一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是__。 A. 110 B. 108 C. 100 D. 120
一个栈的入栈序列 a,b,c,d,e,则栈的不可能的输出序列是__。 A. edcba B. decba C. dceab D. abcde
若已知一个栈的入栈序列是 1,2,3,„,n,其输出序列为 p1,p2,p3,„,pn,若 p1=n,则 pi 为__。 A. i B. n=i C. n-i+1 D. 不确定
栈结构通常采用的两种存储结构是__。 A. 顺序存储结构和链式存储结构 B. 散列方式和索引方式 C. 链表存储结构和数组 D. 线性存储结构和非线性存储结构
判定一个栈 ST(最多元素为 m0)为空的条件是__。 A. ST—> top !=0 B. ST—> top==0 C. ST—> top !=m0 D. ST—> top==m0
判定一个栈 ST(最多元素为 m0)为栈满的条件是__。 A. ST—> top!=0 B. ST—> top==0 C. ST—> top!=m0 D. ST—> top==m0
栈的特点是__,队列的特点是__。 A. 先进先出 B. 先进后出
一个队列的入列序列是 1,2,3,4,则队列的输出序列是__ 。 A. 4,3,2,1 B. 1,2,3,4 C. 1,4,3,2 D. 3,2,4,1
判定一个队列 QU(最多元素为 m0)为空的条件是__。 A. QU—>rear—QU—>front==m0 B. QU—>rear—QU—>front-1==m0 C. QU—>front==QU—>rear D. QU—>front==QU—>rear+1
判定一个队列 QU(最多元素为 m0, m0+1= =Maxsize)为满队列的条件是__。 A. ((QU—>rear-QU—>front)+ Maxsize)% Maxsize ==m0 B. QU—>rear—QU—>front-1==m0 C. QU—>front==QU—>rear D. QU—>front==QU—>rear+1
判定一个循环队列 QU(最多元素为 m0)为空的条件是__。 A. QU—>front==QU—>rear B. QU—>front !=QU—>rear C. QU—>front==(QU—>rear+1)%m0 D. QU—>front !=(QU—>rear+1)%m0
判定一个循环队列 QU(最多元素为 m0)为满队列的条件是__。 A. QU—>front==QU—>rear B. QU—>front!=QU—>rear C. QU—>front==(QU—>rear+1)%m0 D. QU—>front!=(QU—>rear+1)%m0
循环队列用数组 A[0,m-1]存放其元素值,已知其头尾指针分别是 front 和 rear,则当前队列中的元素个数是__。 A. (rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front
栈和队列的共同点是__。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点
一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是__。 A. 110 B. 108 C. 100 D. 120 元素存储地址指的是第一个地址的位置, 例如,一个长度为2,存储在100的元素,实际占用的地址是100与101, 因此,第一个若为100,第二个就是102,以此类推,第五个为108. .
一个栈的入栈序列 a,b,c,d,e,则栈的不可能的输出序列是__。 A. edcba B. decba C. dceab D. abcde 仅给出入栈序列,出栈序列是确定不了的, 例如,a入栈,a出栈,b入栈,b出栈...e入栈,e出栈,的出/入栈序列是abcde, 而abcde入栈后,edcba才出栈,出入栈的序列刚好颠倒, 即,入栈的元素可在任意时候出栈。 而C选项的dceab,已知入栈顺序有abc,而出栈时,c先于a出栈,a又先于b出栈, 这是不可能的,abc的入栈,可能的出栈仅有abc/cba/acb。 .
若已知一个栈的入栈序列是 1,2,3,„,n,其输出序列为 p1,p2,p3,„,pn,若 p1=n,则 pi 为__。 A. i B. n=i C. n-i+1 D. 不确定 要注意,除了入栈顺序外,题目还给了第一个出栈的数,为n, 也就是说,最后一个入栈的,是第一个出栈的, 因此可以判断,元素全部入栈后,才开始出栈。 因此选C。 .
栈结构通常采用的两种存储结构是__。 A. 顺序存储结构和链式存储结构 B. 散列方式和索引方式 C. 链表存储结构和数组 D. 线性存储结构和非线性存储结构 顺序存储就是数组存储,链式存储就是结构体的链表, 是知识点。 .
判定一个栈 ST(最多元素为 m0)为空的条件是__。 A. ST—> top !=0 B. ST—> top==0 C. ST—> top !=m0 D. ST—> top==m0 这里的栈是顺序栈,不是链栈,因为栈的top保存的是数值, 顺序栈的top可以为数值,也能为指针,链栈只能为指针, 顺序栈的指针保存可参考:数据结构简单入门/复习(三)-栈与队列(C语言)。 空栈的top是0,满栈top是m0(只保存了m0个元素,若保存方式不同,也可能为m0+1,区别在于插入元素时使用的是top++还是++top,我没见过++top,但实现起来的确是可以的) .
判定一个栈 ST(最多元素为 m0)为栈满的条件是__。 A. ST—> top!=0 B. ST—> top==0 C. ST—> top!=m0 D. ST—> top==m0 分析同第五题。 .
栈的特点是B. 先进后出,队列的特点是A. 先进先出。 A. 先进先出B. 先进后出 知识点。 .
一个队列的入列序列是 1,2,3,4,则队列的输出序列是__ 。 A. 4,3,2,1 B. 1,2,3,4 C. 1,4,3,2 D. 3,2,4,1 队列是先进先出,因此不像栈有多种出栈可能性。 .
判定一个队列 QU(最多元素为 m0)为空的条件是__。 A. QU—>rear—QU—>front==m0 B. QU—>rear—QU—>front-1==m0 C. QU—>front==QU—>rear D. QU—>front==QU—>rear+1 题目中的破折号是减号。 不论是顺序还是链表存储,空队列时,队头队尾都相同, 队尾或队头只有一个为0时,不一定是空队列, 因为循环队列的队头与队尾没有被限制在0处。 .
判定一个队列 QU(最多元素为 m0, m0+1= =Maxsize)为满队列的条件是__。 A. ((QU—>rear-QU—>front)+ Maxsize)% Maxsize ==m0 B. QU—>rear—QU—>front-1==m0 C. QU—>front==QU—>rear D. QU—>front==QU—>rear+1 同上,如果不是循环队列,那么直接rear-front == m0即可, 但既然答案给出了循环队列的大小公式,那就得当成循环队列了。 例如队列存储在1 2 3 4 5 6中,队尾队头分别是 3 5, 那么大小应该是3-5+6=4,而不是2,因为队列从队尾进,从队头出, 此时如果插入元素,会插在队尾的后面,即4位置,插入后队尾后移, 队尾队头为4 5,插入后差值变小,论证了(队尾-队头+m)%m才是元素个数。 .
判定一个循环队列 QU(最多元素为 m0)为空的条件是__。 A. QU—>front==QU—>rear B. QU—>front !=QU—>rear C. QU—>front==(QU—>rear+1)%m0 D. QU—>front !=(QU—>rear+1)%m0 第九题讲到了,队头队尾相同时,队列为空。 .
判定一个循环队列 QU(最多元素为 m0)为满队列的条件是__。 A. QU—>front==QU—>rear B. QU—>front!=QU—>rear C. QU—>front==(QU—>rear+1)%m0 D. QU—>front!=(QU—>rear+1)%m0 如第10题,通过循环队列的大小计算公式可知。 当然凭感觉也能知道。 .
循环队列用数组 A[0,m-1]存放其元素值,已知其头尾指针分别是 front 和 rear,则当前队列中的元素个数是__。 A. (rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front 同第10题。 .
栈和队列的共同点是__。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点 AB首先排除, 基本的栈和队列都是不能插队的,也就是不能在非端点处进行插入删除操作。
1.设顺序表 va 中的数据元数递增有序。试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有序性。 见函数insertSortArray() 如果用realloc会更美观,但realloc只能重分配malloc生成的, 所以在insertSortArray用malloc函数新生成了返回数组。
共有 0 条评论