首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right)/2]中取中间值,并交换到right位置的办
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right)/2]中取中间值,并交换到right位置的办
admin
2009-02-15
21
问题
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right)/2]中取中间值,并交换到right位置的办法。数组a存放待排序的一组记录,数据类型为T,left和right是待排序子区间的最左端点和最右端点。
void quicksort (int a[], int left, int right) {
int temp;
if (left<right) {
hat pivot = median3 (a, left, right); //三者取中子程序
int i = left, j = right-1;
for(;;){
while (i <j && a
< pivot) i++;
while (i <j && pivot < a[j]) j--;
if(i<j){
temp = a
; a[j] = a
; a
= temp;
i++; j--;
}
else break;
}
if (a
> pivot)
{temp = a
; a
= a[right]; a[right] = temp;}
quicksort( (1) ); //递归排序左子区间
quieksort(a,i+1 ,right); //递归排序右子区间
}
}
void median3 (int a[], int left, int right)
{ int mid=(2);
int k = left;
if(a[mid] < a[k])k = mid;
if(a[high] < a[k]) k = high; //选最小记录
int temp = a[k]; a[k] = a[left]; a[left] = temp; //最小者交换到 left
if(a[mid] < a[right])
{temp=a[mid]; a[mid]=a[right]; a[right]=temp;}
}
消去第二个递归调用 quicksort (a,i+1,right)。 采用循环的办法:
void quicksort (int a[], int left, int right) {
int temp; int i,j;
(3) {
int pivot = median3(a, left, right); //三者取中子程序
i = left; j = righi-1;
for (;; ){
while (i<j && a
< pivot)i++;
while (i<j && pivot <a[j]) j--;
if(i <j) {
temp = a
; a[j]; = a
; a
=temp;
i++; j--;
}
else break;
}
if(a
>pivot){(4);a
=pivot;}
quicksoft ((5)); //递归排序左子区间
left = i+1;
}
}
选项
答案
(1)a,left,i-1 (2)(left+right+1)/2 (3)while(left<right) (4)a[right)=a[i] (5)a,left, i-1
解析
(1)a,left,i-1
递归排序左子区间,从left到i-1元素,不包括i元素。
(2)(left+right+1)/2
三者取中子程序median3(a,left,right),取基准记录pivot时,采用从left、right和 mid=[(left+right)/2]中取中间值,并交换到right位置的办法。
(3)while(left<right)
循环直到left和right相遇。
(4)a[right)=a
若a
>pivot则让a[right]=a
而让a
=pivot;。
(5)a,left, i-1
递归排序左子区间,从left到i-1元素,不包括i元素。
转载请注明原文地址:https://kaotiyun.com/show/xMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
软件设计师王某在其公司的某一综合信息管理系统软件开发工作中承担了大部分程序设计工作。该系统交付用户,投入试运行后,王某辞职离开公司,并带走了该综合信息管理系统的源程序,拒不交还公司。王某认为,综合信息管理系统源程序是他独立完成的,他是综合信息管理系统源程序
用户访问某Web网站,浏览器上显示“HTTP-404”错误,则故障原因是(70)。
______是当前自动化测试技术不能解决的问题。A.保证测试质量B.提高测试效率C.排除手工操作错误D.降低测试用例设计的难度
假设段页式存储管理系统中的地址结构如下图所示,则系统中()。
关于软件质量,______的叙述是正确的。①软件满足规定或潜在用户需求特性的总和②软件特性的总和,软件满足规定用户需求的能力③是关于软件特性具备“能力”的体现④软件质量包括“代码质量”、“外部质量”和“使用质量”3部分A.
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括___________(45)。下图是一个UMI,类图,其中类University和类School之间是___________(46)关系,类Person和类PersonRecord之间
在WindowsXP操作系统中,用户利用“磁盘管理”程序可以对磁盘进行初始化、创建卷,(23)。通常将“C:\Windows\nyprogram.exe”文件设置成只读和隐藏属性,以便控制用户对该文件的访问,这一级安全管理称之为(24)安全管理。
对某商店业务处理系统采用数据流图(DFD)进行功能建模,其中“检查订货单”是其中的一个①。由于在进行订货单检查时,需要根据客户的欠款情况、订单金额等多个条件判断是否采取发出催款单、准备货物、发出发货单等行为,此时适合采用②进行描述。①处
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
运行Web浏览器的计算机与网页所在的计算机要建立(66)连接,采用(67)协议传输网页文件。
随机试题
由于外部环境恶化,经济陷入衰退之中,企业为避开环境威胁而采取的紧缩战略属于()
图象后处理技术与CT图象重建的本质区别是
林女士,54岁,孕5产4。慢性咳嗽多年,阴道口脱出肿物已1年多,近半年来,经休息亦不能回纳,阴道分泌物增多。妇科检查:会阴Ⅱ度裂伤,阴道前壁有球形膨出,宫颈及部分子宫体脱出于阴道外,子宫颈表面可见溃疡,两侧附件未触及。该患者的医疗诊断是
下列哪些情形当事人不可以向法院申请撤销仲裁裁决:()
基准地价修正系数表的验证工作中,要求至少抽查()个以上的样点宗地地价。
某市为提高“十二五”期末服务业增加值比重,提出建设快速公交走廊工程、垃圾处理场、农贸市场等一揽子投资计划,以提高公共服务水平,促进当地服务业快速发展。该计划涵盖的建设项目将影响全市3个区3个乡镇(街道)的5个村/社区,其中包括1个少数民族聚居区,需要征收1
杭州一家大型工程装卸公司为提高竞争优势,从新加坡订购进口成套装卸设备。该设备投入使用后,接连发生非正常技术性故障,经合法检验机构检验,确认为该设备中部分关键件品质不良。境内外交易双方协商决定,对该套设备作削价30%的处理,并由境外供货商免费补偿进口部分关键
甲市的A企业由乙市的B国有企业和丙市的C国有企业共同投资设立,B企业持股比例为60%,C企业持股比例为40%,关于申请办理产权登记的主体,下列说法正确的是()。
拉祜族的东巴文是一种兼备表意和表音成分的图画象形文字。()
公务场合的着装应该讲究()。
最新回复
(
0
)