首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。 [说明] 对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。 下面分别用函数compact
admin
2012-01-13
34
问题
阅读以下说明和C函数,回答问题1和问题2,将解答填入对应栏内。
[说明]
对于具有n个元素的整型数组a,需要进行的处理是删除a中所有值为0的数组元素,并将a中所有非0元素按照原顺序连续地存储在数组空间的前端。
下面分别用函数compactArr_v1和compactArr_v2来实现上述处理要求,函数的返回值为非零元素的个数。
函数CompactArr(int a[],int n)的处理思路是:首先申请一个与数组a的大小相同的动态数组空间,然后顺序扫描数组a的每一个元素,将遇到的非0元素依次复制到动态数组空间中,最后再将动态数组中的元素传回数组a中。
函数CompactArr_v2(int a[],int n)的处理思路是:利用下标i(初值为0)顺序扫描数组a的每一个元素,下标k(初值为0)表示数组a中连续存储的非0元素的下标。扫描时,每遇到一个数组元素,i就增1,而遇到非0元素并将其前移后k才增1。
[C函数1]
int CompactArr vl(int a[],int n)
{
int i, k;
int *temp=(int*)malloc(n* (1) );
if(!temp)
return-1;
for(i=0, k=0; i<n; i++)
if(a
!=0){
(2) =a
;
}
for(i=0; (3) ; i++)
a
=temp
;
return k;
}
[C函数2]
intCompactArr v2(inta[],intn)
{
int i, k;
for(i=0, k=0; i<n; i++) {
if(a
!=0){
(4) =a
;
}
}
return k;
}
请说明函数CompactArr_v1存在的缺点。
选项
答案
可能由于动态内存申请操作失败而导致函数功能无法实现,没有释放动态数组空间(存在内存泄漏问题),时问和空间效率低。
解析
本问题考查程序分析基本能力。
解决同一个问题会有多种不同的方法,各种方法都有其特点。在本问题中,相比于函数CompactArr v2,CompactArr_v1的处理思路容易理解,由于数组a的数据需要复制给temp,然后再复制回来,因此需要更多的空间支持,处理速度时间也更长。另外,其代码执行时也可能由于申请内存空间的要求得不到满足,从而导致函数的功能不能实现,虽然发生这种情况的概率很低,但也有可能发生。此外,函数结束前也没有释放所申请的内存块。
转载请注明原文地址:https://kaotiyun.com/show/y6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
将四个元素a,b,c,d分成非空的两组,不计组内顺序和组间顺序,共有()种分组方法。
以下关于信息化发展的叙述中,不正确的是(2)。
在Access中使用参数查询时,应将条件栏中的参数提示文本写在(60)中。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入计算众数的函数“=MODE(A1:E6)”,按回车键后,则.A7单元格显示的值为(47)。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
下列传输协议中,采用了加密技术的是______。
计算机病毒是一段程序,一般隐藏在______中。
数据分析报告的质量要求中不包括()。
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)30.
在一张幻灯片中,若对一幅图片及文本框设置成一致的动画显示效果时,则______。
随机试题
Bezier曲线在端点处的一阶导数为:p’(0)=n(P1-P0),p’(1)=n(Pn-Pn-1),二阶导数为:p”(0)=n(n-1)((P2-P1)-(P1-P0)),p”(1)=n(n-1)((Pn-2-Pn-1)-(Pn-1-Pn))。写出如图2
根据企业生产经营的方式不同,一般可以分为经营性企业和()企业。
已知两个除尘器分别具有70%和90%的全效率,若将它们串联使用时,效率低的为前级,则总效率为()。
建设工程投资估算的()直接影响到项目的投资决策、基建规模、工程设计方案、投资经济效果,并直接影响到建设工程能否顺利进行。
所谓股份有限公司控股股东,一般是指股份占公司资本股本总额的比例在()以上。
如地陪未接到应接的游客或小包价旅游团,一定要与司机配合,在尽可能的范围内寻找至少()。
【2015年淄博市】“中华人民共和国成立于1949年”,这属于以下哪类知识?()
下列不属于交警主要职责的是()。
简述离婚与宣告婚姻无效、撤销婚姻的区别。
所有由Container派生的类称为______。
最新回复
(
0
)