6.9 KiB
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
-
A.不确定
-
B.i
-
C.n-i
-
==D.n-i+1==
判定以 head 为头指针的不带头结点的单链表只有一个结点的条件是( )。
-
==A.head->next= =NULL==
-
B.head!=NULL
-
C.head= =NULL
-
D.head->next= =head
-
对于顺序存储的长度为n的线性表,在第i个位置插入一个元素需要移动( )个元素。其中,0≤i<n。
-
-
A.i
-
B.n-i-1
-
C.n-i+1
-
==D.n-i==
-
允许对队列进行的操作有( )。
-
-
==A.在队头元素之前插入元素==
-
B.取出最近进队的元素
-
C.删除队头元素
-
D.对队列中的元素排序
-
在班级信息管理表中,为了能按班级学号实现快速查询本班级学生信息的算法,采用( )更好。
-
-
==A.顺序表==
-
B.链表
-
设某顺序表中第一个元素的地址是 Base ,每个结点占 m 个单元,则第 i 个结点的地址为( )。
-
-
A.Base+(i+1)∗m
-
B.Base−i∗m
-
==C.Base+(i−1)∗m==
-
D.Base+i∗m
-
-
-
-
栈在 中有所应用。
-
==A.前三个选项都有==
-
B.表达式求值
-
C.递归调用
-
D.函数调用
若用一个大小为 6 的数组来实现循环队列,且当前 rear 和 front 的值分别为 0 和 3 ,当从队列中删除一个元素,再加入两个元素后, rear 和 front 的值分别为( )。
-
A.1 和 4
-
==B.1 和 5==
-
C.2 和 4
-
D.2 和 3
一个顺序表里已经有10个元素,最大容量是100,欲在顺序表中插入一个元素,则不合理的插入位置是( )。
-
==A.15==
-
B.11
-
C.5
-
D.1
判定以head为首指针的不带头结点的单链表为空的条件是( )。
-
==A.head= =NULL==
-
B.head->next= =NULL
-
C.head!=NULL
-
D.head->next= =head
-
线性表是( )。
-
-
==A.一个有限序列,可以为空==
-
B.一个有限序列,不可以为空
-
C.一个无限序列,不可以为空
-
D.一个无限序列,可以为空
-
一个顺序表里已经有 5 个元素,最大容量是 100 ,现插入 2 个元素,删除 3 个元素,该顺序表的长度是( )。
-
-
A.5
-
==B.4==
-
C.不确定
-
D.1
-
下面关于串的的叙述中, 是不正确的。
-
-
A.模式匹配是串的一种重要运算
-
B.串既可以采用顺序存储,也可以采用链式存储
-
==C.空串是由空格构成的串==
-
D.串是字符的有限序列
-
能够满足快速完成插入和删除运算的线性表存储结构是( )。
-
-
A.散列存储
-
==B.链式存储==
-
C.有序存储
-
D.顺序存储
-
设进栈次序为ABCDE,( )是不可能得到的出栈序列。
-
-
A.ABCDE
-
==B.EABCD==
-
C.BCDEA
-
D.EDCBA
-
铁路进行列车调度时,常把站台设计成栈式结构,若进站的六辆列车顺序为:1,2,3,4,5,6, 不能出栈序列是( )。
-
-
A.1 2 3 4 5 6
-
B.3 2 5 6 4 1
-
C.1 3 5 4 2 6
-
==D.4 3 5 6 1 2==
-
在数据结构中,从逻辑上可以把数据结构分成
-
-
A.线性结构和非线性结构
-
==B.动态结构和静态结构==
-
C.内部结构和外部结构
-
D.紧凑结构和非紧凑结构
-
线性表的顺序存储最适合于实现( )运算。
-
-
A.查找
-
B.插入
-
==C.由下标定位==
-
D.删除
-
顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
-
-
A.110
-
B.100
-
==C.108==
-
D.120
-
在一个单链表中,若删除p所指结点的后续结点,则执行( )。
-
-
A.p=p->next->next
-
B.p->next=p->next
-
C.p=p->next;p->next=p->next->next
-
==D.p-next=p->next->next==
-
数组S[M]存储一个栈,top为栈顶指针。如果条件top= =-1表示栈空,在栈不空的情况下,栈顶元素为( )。
-
-
A.S[++top]
-
B.S[top-1]
-
C.S[top+1]
-
==D.S[top]==
-
对于链接存储的存储结构所占存储空间,以下选项描述正确的是( )。
-
-
==A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针==
-
B.分两部分,一部分存放结点值,另一部分存放结点所占单元数
-
C.只有一部分,存储表示结点间关系的指针
-
D.只有一部分,存放结点值
-
已知last指向单链表的尾结点,将 s 所指结点加在表尾,以下选项描述正确的是( )。
-
-
==A.s->next=last, last->next=NULL,last=s;==
-
B.last->next=s,s->next=NULL,last=s;
-
C.s->next=NULL, last->next=s, s=last;
-
D.s->next=s,last=s,last->next=NULL;
-
对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )。
-
-
A.head→next==head
-
B.head==NULL
-
C.head!=NULL
-
==D.head→next==NULL==
-
线性表L在 情况下适用于使用链式结构实现。
-
-
A.L中结点结构复杂
-
==B.需不断对L进行删除插入==
-
C.需经常修改L中的结点值
-
D.L中含有大量的结点
-
循环队列存储在数组A[0..m]中,则入队时的操作为
-
-
A.rear=rear+1
-
==B.rear=(rear+1)%(m+1)==
-
C.rear=(rear+1)%(m-1)
-
D.rear=(rear+1)%m
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
在某个线性链表中在p节点后插入节点x,若s为指向插入节点x的指针,则指针修改语句为s->next=p->next 和什么?
p->next=s;
线性表中元素的存储可以使用顺序表和 。
链表
数据结构中数据的关系通常有集合、 、树形结构、图状结构和网状结构。
数组
循环队列Q中判断队满的条件为 (最大空间MAXQSIZE、队头指针Q.front,队尾指针Q.rear)。
(Q.rear+1)%MAXQSIZE==Q.front;