首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
admin
2019-08-01
31
问题
线性表(a
1
,a
2
,a
3
,…,a
n
)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容:
(1)用最少的时间在表中查找数值为x的元素。
(2)若找到将其与后继元素位置相交换。
(3)若找不到将其插入表中并使表中元素仍递增有序。
选项
答案
(1)顺序存储的线性表递增有序,可以顺序查找,也可折半查找。题目要求“用最少的时间在表中查找数值为x的元素”,这里应使用折半查找方法。 void SearchExchangelnsert(ElemType a[];ElemType x) ∥a是具有n个元素的递增有序线性表,顺序存储。本算法在表中查找数值为x的 //元素,如查到则与其后继交换位置;如查不到,则插入表中,且使表仍递增有序 { low=O: high=n-1; //low和high指向线性表下界和上界的下标 while(low<=high) { mid=(low+high)/2; //找中间位置 if(a[mid]==x)break; //找到x,退出while循环 else if(a[mid]
high) //查找失败,插入数据元素x { for(i=n-1;i>high;i一一) a[i+1]=a[i]; //后移元素 a[i+1]=x; //插入x } //结束插入 } //结束本算法 (2)算法讨论 首先是线性表的描述。算法中使用一维数组a表示线性表,未使用包含数据元素的一维数组和指示线性表长度的结构体。若使用结构体,对元素的引用应使用a.elem[i]。另外,元素类型就假定是ElemType,未指明具体类型。其次,C中一维数组下标从0开始,若说有n个元素的一维数组,其最后一个元素的下标应是n-1。最后,本算法可以写成三个函数,即查找函数、交换后继函数与插入函数,写成三个函数显得逻辑清晰、易读。
解析
转载请注明原文地址:https://jikaoti.com/ti/bzGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
在西亚最早创造文字的是()。
在欧美资产阶级革命时代,最能体现出资产阶级革命要求的文献是()。
下列不是开始于战国时期的制度是()。
1940年毛泽东的《新民主主义论》:“而所谓民主主义,现在已不是旧范畴的民主主义,已不是日民主主义,而是新范畴的民主主义,而是新民主主义”。毛泽东分民主革命的两个阶段主要依据是
论述雅典和罗马通过对外扩张成为帝国的过程,并分析雅典帝国短暂而罗马帝国长久的原因。
两极格局结束后,世界形势发展的总态势的基本特点()
在机器数中,正数的符号位用“1”表示的是()。
某模型机的通路结构如下图所示,用寄存器传送语句(如PC→MAR),拟出下列指令从读取到执行的完整流程。(1)数据传送指令MOVX(R0),Y(R1),源和目的操作数地址均采用变址寻址,第1个参数X为源操作数的形式地址,第2个参数为目的操作数的形
下列选项中,不属于网络体系结构所描述的内容是____。
试比较脱机I/O和联机I/Oo
随机试题
啤酒原麦汁浓度是通过测定啤酒的真正浓度和()通过计算得到的。
在实际应用中,并励和复励直流电动机要实现电机反转,一般可采用的方法是()。
_____________,即从拥有先进技术的单位或企业进行购买,然后加以吸收消化再进行技术开发。
检查乳糜微粒常用的染色液是
男性,50岁,间断上腹痛2年,疼痛发作与情绪、饮食有关。查体:上腹部轻压痛。胃镜:胃窦皱襞平坦,黏膜粗糙无光泽,黏膜下血管透见,应考虑的诊断是
A、情感淡漠B、抑郁状态C、痴呆状态D、脑衰弱综合征E、缄默状态意识清楚,记忆力差,生活自理能力下降,缺乏同情心,本能活动增多,见于
工程索赔中工程环境的变化包括()。
以保证方式提供担保的,应当为连带责任担保,且保证人最近1期经审计的净资产额应不低于其累计对外担保的金额。( )
牡丹江街居体制改革后,新建了兴荣社区,现需要对社区内居民基本情况进行普查登记,你作为社区工作者,为居民发布一则入户调查通知。答题要求:格式正确,用语规范,字数不限。
计算下列各题:由方程xy=yx确定x=x(y),求.
最新回复
(
0
)