首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
admin
2017-11-14
40
问题
线性表(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
学硕统考专业
相关试题推荐
埃及曾两次被波斯帝国征服,波斯第二次征服埃及的时间是()。
1824~1828年分别用不同的无机物通过不同的途径合成了同一种有机物——尿素,证明了化学定律对有机物和无机物是同样适用的科学家是()。
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
宁夏回族自治区的设立时间是()。
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
全国高校院系调整的具体时间是()。
中华人民共和国恢复在联合国合法席位的时间是()。
“一战”后,协约国与奥地利签订的确认奥匈帝国解体的文件是()。
高度为7的AVL树最少有()个结点。
设有带头结点的循环双链表表示的线性表L===(a1,a2,……,an-1,an)。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a1,a3,……,an……a4,a2)。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用
随机试题
以下属于领导的制度权的有()。
在Excel2010中,工作表的数据如题21图所示。其中在Dl单元格输入的公式为“=Al+$C$1”,若将其公式复制到D2单元格,则D2单元格中显示的值为【】
A.溶解吸收B.溃疡形成C.空洞形成D.机化肺结核大片坏死并与支气管相通引起
患者男性,31岁,尿频、尿急、尿痛3年。检查:贫血貌,尿沉渣脓细胞(++++),红细胞(++),血尿素氮30mmol/L,排泄性尿路造影两肾未显影,膀胱容量30ml左右。在双肾结核或者一侧肾结核对侧肾积水时,泌尿系造影常显示不全,此时应做哪项检查有助于
简述青霉素过敏性休克的预防措施。
导游人员要想提高自己的导游技能,主要方法有积极主动,借鉴他人;努力学习,掌握丰富的词汇;讲话时充满信心,倾注满腔热情;讲话时要掌握主动权;坚持自己。()
开展社会康复的措施包括()。
设变量x为longint型并已正确赋值,以下表达式中能将x的百位上的数字提取出的是()。
gotpromotion
Thedoctorpreferredtoresignratherthanbeaccusedpubliclyofinfamousconduct.
最新回复
(
0
)