首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
admin
2017-11-14
54
问题
线性表(a
1
,a
2
,a
3
,…,a
n
)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容:
(1)用最少的时间在表中查找数值为x的元素。
(2)若找到将其与后继元素位置相交换。
(3)若找不到将其插入表中并使表中元素仍递增有序。
选项
答案
(1)顺序存储的线性表递增有序,可以顺序查找,也可折半查找。题目要求“用最少的时间在表中查找数值为x的元素”,这里应使用折半查找方法。 void searchExchangeInsert(ElemType a[];ElemType x) //a是具有n个元素的递增有序线性表,顺序存储。本算法在表中查找数值为X的 //元素,如查到则与其后继交换位置;如查不到,则插入表中,且使表仍递增有序 { low=0: high=11—1: //low和high指向线性表下界和上界的下标 while(10w<=high) { mid:(10w+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://kaotiyun.com/show/Y3Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1956年,苏共二十大后,匈牙利大党员和群众强烈要求克服个人崇拜,扩大民主,实行经济改革,一些由知识分子、大学生和干部组成的社团组织纷纷成立,其中最有影响者是()。
苏联“十四大”、“十五大”后经济建设的核心内容是()
下列事件:①上党战役②九三学社成立③“一二·一”惨案④《双十协定》签订,按照时间顺序排列正确的是()。
宁夏回族自治区的设立时间是()。
法国里昂工人起义提出:“我们只有一个口号‘人人自由平等!’”英国宪章运动请愿书提出:“我们竭尽自由人的义务,就应享受自由人的权利。我们要求普遍选举。”这些要求表明()。①带有空想社会主义色彩②当时工人的要求还没有超出资产阶级民主主义的范畴
詹天佑自主设计修建了中国第一条铁路是在()。
1543年,发表了解剖学专著《人体结构》的是()。
第一次国共合作采取了共产党员以个人身份加入国民党的党内合作方式,最早提出这种方式的是()。
洋务派创办军事工业的方式是()。
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
随机试题
在上升趋势中,将两个低点连成一条直线,得到()。
ANCA相关性血管炎主要包括________、________及________等。
(2005年)投资项目W的净现金流量如下:则项目W的静态投资回收期为()年。
某高速公路全长78km,双向六车道,路幅宽29m,设计车速120km/h,路面基层为水泥稳定土无机结合料基层,施工单位根据工程实际情况及人力、设备条件、采用了路拌法水泥稳定土基层施工工艺。摊铺水泥日进度1.5km(单向),某路段具体施工过程如下:(
客户下达的交易指令数量和买卖方向明确,没有成交价格的,应当视为()。
下列项目中,免征营业税的有()。
山东农民刘大成获得2010年度星光大道总冠军,2月20日下午,济宁市市中区召开表彰大会,对荣获央视星光大道2010年度总冠军的农民歌手刘大成授予“运河英才”、记三等功并给予10万元奖励。就此谈谈你的看法。
设随机变量X的概率密度为对X独立地重复观察4次,用Y表示观察值大于的次数,求Y2的数学期望.
Ping实用程序使用的是(11)协议。
【B1】【B7】
最新回复
(
0
)