数据结构试题答案版.docx
- 文档编号:1707685
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:5
- 大小:16.52KB
数据结构试题答案版.docx
《数据结构试题答案版.docx》由会员分享,可在线阅读,更多相关《数据结构试题答案版.docx(5页珍藏版)》请在冰豆网上搜索。
数据结构试题答案版
数据结构试题(答案版)
1.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移 个元素。
A、n-i B、n-i+1 C、n-i-1 D、i
2.在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次前移 个元素。
A、n-i B、n-i+1 C、n-i-1 D、i
3.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行 。
A、HL=p; p->next=HL;
B、p->next=HL; HL=p;
C、p->next=HL; p=HL;
D、p->next=HL->next; HL->next=p;
4.在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行 。
A、q->next=p->next; p->next=q;
B、p->next=q->next; q=p;
C、q->next=p->next; p->next=q;
D、p->next=q->next; q->next=p;
5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行 。
A、p=q->next; p->next=q->next;
B、p=q->next; q->next=p;
C、p=q->next; q->next=p->next;
D、q->next=q->next->next; q->next=q;
6.栈的插入与删除操作在 进行。
A、栈顶 B、栈底 C、任意位置 D、指定位置
7.当利用大小为N的一维数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行 语句修改top指针。
A、top++ B、top-- C、top=0 D、top
8.若让元素1,2,3依次进栈,则出栈次序不可能出现 种情况。
A、3,2,1 B、2,1,3 C、3,1,2 D、1,3,2
9.在一个循环顺序队列中,队首指针指向队首元素的 位置。
A、前一个 B、后一个 C、当前 D、后面
10.当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为 。
A、N-2 B、N-1 C、N D、N+1
11.从一个循环顺序队列删除元素时,首先需要 。
A、前移一位队首指针 B、后移一位队首指针
C、取出队首指针所指位置上的元素 D、取出队尾指针所指位置上的元素
12.假定一个循环顺序队列的队首和队尾指针分别为f和r,则判断队空的条件是 。
A、f+1==r B、r+1==f C、f==0 D、f==r
13.假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件是 。
A、front==rear B、front!
=NULL C、rear!
=NULL D、front==NULL
14、数据的基本单位是
A、文件 B、数据元素 C、符号 D、关键字
15.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列 存储方式最节省运算时间。
A单向链表 B单向循环链表
C双向链表 D双向循环链表
16、队列操作的原则是 。
A先进先出 B后进先出
C只能进行插入 D只能进行删除
17、栈和队列的共同特点是 。
B.都是先进后出
18、队列的插入操作是在 进行。
A.队首 B.队尾 C.队前 D.队后
19、判断一个循环队列cq(最多元素为QueueSize)为满队列的条件是 。
B. cq.rear=QueueSize
t
20.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是 。
A head==NULL B head->next==NULL
C head->next==head D head!
=NULL
21.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为 。
A front->next=s;front=s; B s->next=rear;rear=s;
C rear->next=s;rear=s; D s->next=front;front=s;
22.设有两个串s和t,求t在s中首次出现的位置的运算是()
23.一个n×n的对称矩阵,如果以按行优先或按列优先存储,则其容量为()。
A.nn B.n(n-1)/2
C.n(n-1) D.n(n+1)/2
24.串长度的定义是()
A.串中不同字母的个数 B.串中不同字符的个数
C.串中所含字符的个数,且大于0 D.串中所含字符的个数
25.设有一个二维数组A6×8,每个元素用相邻的6个字节单元存储(即按字节编址),假设第一个元素a00的存储地址为0。
若按行存储,元素a24的第一个字节的地址是()。
A.120 B.156 C.114 D.72
二、对于结点类型为LNode的单链表,编写出下列每个算法。
(1)删除单链表中的第i个结点。
(2)在有序单链表中插入一个元素x的结点。
(3)从单链表中查找出所有元素的最大值,该值由函数返回,若单链表为空,则显示出错信息并停止运行。
(4) 统计出单链表中结点的值等于给定值x的结点数。
参考答案
14.B15.D16.A17.A18.B19.C20.A21.C22.B23.D24.D25A
二、voidDelete_LinkList(LinkList&L,inti,ElemType&e)
{
LinkListp,q;
intj=0;
p=L;
while(p->next&&j { p=p->next; ++j; } if(! (p->next)||j>i-1) { exit(3); cout<<"\n删除位置不合理! \n"; } q=p->next; p->next=q->next; e=q->data; free(q); } voidInsert_LinkList_x(LinkList&L,ElemTypex) { LinkListp,q,s; s=(LinkList)malloc(sizeof(LNode)); s->data=x; s->next=NULL; p=L; if(p->next==NULL) p->next=s; else { while(p) { if(p->data<=x) { q=p; p=p->next; } else break; } s->next=q->next; q->next=s; } } intFind_Max(LinkListL) { intmax; if(L->next==NULL) { cout<<"ERROR"; exit(-9); } max=L->next->data; LinkListp=L->next; while(p) { if(p->data>max) max=p->data; p=p->next; } returnmax; } int Count_LinkList(LinkListL,intx) { intcount=0; if(L==NULL) exit(0); LinkListp=L->next; while(p) { if(p->data==x) count++; p=p->next; } return count; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 试题答案