- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 线性表昌网络公司
第二章 线性表
一、判断题
1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。( )错误
二、选择题部分
1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )答案
(A)110 (B)108(C)100 (D)120
3. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( )个元素。
(A)64(B)63 (C)63.5 (D)7
4.线性表采用链式存储结构时,其地址( )。
(A) 必须是连续的 (B) 部分地址必须是连续的
(C) 一定是不连续的 (D) 连续与否均可以
5. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )
(A)s-next=p;p-next=s; (B) s-next=p-next;p-next=s;
(C)s-next=p-next;p=s; (D)p-next=s;s-next=p;
6.在一个单链表中,若删除p所指结点的后续结点,则执行( )
(A)p-next=p-next-next; (B)p=p-next; p-next=p-next-next;
(C)p-next=p-next; (D)p =p-next-next;
7.下列有关线性表的叙述中,正确的是( )
(A)线性表中的元素之间隔是线性关系
(B)线性表中至少有一个元素
(C)线性表中任何一个元素有且仅有一个直接前趋
(D)线性表中任何一个元素有且仅有一个直接后继
8.线性表是具有n个( )的有限序列(n≠0)
(A)表元素 (B)字符 (C)数据元素 (D)数据项
三、填空题部分
1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:( ) 。s-next=p-next; p-next=s;
2.顺序表中逻辑上相邻的元素物理位置( )相邻, 单链表中逻辑上相邻的元素物理位置( )相邻。一定、不一定
3.线性表L=(a1,a2,...,an)采用顺序存储,假定在不同的n+1个位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是( ) n/2
四、算法设计题部分
1、试编写一个求已知单链表的数据域的平均值的函数(数据域数据类型为整型)。
解答:#include stdio.h
#include malloc.h
typedef struct node
{int data;
struct node *link;
}NODE;
int aver(NODE *head)
{int i=0,sum=0,ave; NODE *p;
p=head;
while(p!=NULL)
{p=p-link;++i;
sum=sum+p-data;}
ave=sum/i;
return (ave);}
2、已知带有头结点的循环链表中头指针为head,试写出删除并释放数据域值
为x的所有结点的c函数。
解答:#include stdio.h
#include malloc.h
typedef struct node
{
int data; /* 假设数据域为整型 */
struct node *link;
}NODE;
void del_link(NODE *head,int x) /* 删除数据域为x的结点*/
{
NODE *p,*q,*s;
p=head;
q=head-link;
while(q!=head)
{
if(q-data==x)
{
p-link=q-link;
s=q;
q=q-link;
free(s);
}
else
{
p=q;
q=q-link;
}
}
}
3、某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现出库(销售)m台价格为h的电视机,试编写算法修改原链表。
解答:
void del(NODE *head,float price,int num)
{
NODE *p,*q,*s;
p=head;q=head-next;
while(q-pricepriceq!=head)
{
p=q;
q=q-next;
}
if(q-price==price)
q-num=q-num-num;
else
printf(无此产品);
if(q-num==0)
{
p-next=q-next;
free(q);
}
}
4、某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现新到m台价格为h的电视机,试编写算法修改原链表。
#include stdio.h
#include malloc.h
typedef struct node
{
float pr
您可能关注的文档
最近下载
- 《解析几何》教案--吕林根,许子道.pdf
- 美国加州桥梁抗震caltrans seismic design criteria vlysis.pdf VIP
- 2025云南省临沧市市级单位公开遴选(选调)工作71人笔试参考题库附答案解析.docx VIP
- HSE保障措施优化及实施方案研究.docx VIP
- 2025甘肃省公路交通建设集团武仙公路收费运营人员招聘61人笔试模拟试题及答案解析.docx VIP
- 2025年秋新鲁科版英语四年级上册全册课件.pptx
- 颚式破碎机技术参数.docx VIP
- 2024河南资本集团“方舟”第三批招聘41人笔试参考题库附带答案详解.pdf
- 《时尚配饰设计》课件.ppt VIP
- 高边坡专家论证PPT汇报材料(中建).ppt VIP
文档评论(0)