首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计算法完成以下内容: (1)用最少的时间在表中查找数值为x的元素。 (2)若找到将其与后继元素位置相交换。 (3)若找不到将其插入表中并使表中元素仍递增
admin
2019-08-01
56
问题
线性表(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://www.kaotiyun.com/show/ntCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
尚书一职,秦置于宫禁;西汉沿置,为皇帝收发文书,传达记录诏命章奏;东汉置尚书台,“出纳王命,赋政四海,权尊势重”,成为朝廷的政务中心。这一过程反映了()
日本文化逐渐摆脱对中国文化的简单模仿,由所谓唐风文化转向具有日本特点的国风文化是在()。
下列国家中不是不结盟运动发起者的是()。
赋税是我国古代国家宏观管理经济的重要手段。 据此回答问题:哪位皇帝的即位首次应用了秘密立储制?()
迈锡尼文明使用的文字是
据史记《商君传》商鞅变法,“为田开阡陌封疆,而赋税平”其目的
结合史实,分析华北事变前后国民党对日本政策的变化及其主要原因。
科举是一种读书、应考、任官三位一体的选官方法,其中的进士科始创于()。
试就MutualExclusion、Progress、BoundedWaiting论述以下解决双进程临界区问题的算法是错误的:ProcessPO:do{flag[0]=true;While(flag[1]);
TCP/IP网络中,某主机的IP地址为130.25.3.135,子网掩码为255.255.255.192,那么该主机所在的子网的网络地址是()。
随机试题
贯彻评估科学性原则的主体是()
企业战略管理的过程中,制定战略方案的第一步是()
通常不用于检查肝的体位是
乳腺癌好发于
对口腔科医生最危险的是
背景资料:某水闸建筑在砂质壤土地基上,水闸每孔净宽8m,共3孔,采用平板闸门,闸门采用一台门式启闭机启闭,闸墩厚度为2m,因闸室的总宽度较小,故不分缝。闸底板的总宽度为30m,净宽为24m,底板顺水流方向长度为20m。施工中发现由于平板闸
短时记忆的主要编码形式是()
“文化大革命”结束后,邓小平在重新确立和恢复党的实事求是思想路线方面采取的重大行动主要有()。
下列叙述中正确的是
Inafamilywheretherolesofmenandwomenarenotsharply【C1】______andwheremanyhouseholdtasksaresharedtoagreateror
最新回复
(
0
)