早教吧 育儿知识 作业答案 考试题库 百科 知识分享

1.指出以下算法中的错误和低效(即费时)之处,并将它改为一个既正确又高效的算法.ProcDeleteK(VARa:sqlist;i,k:integer);{从顺序存储结构的线性表a中删除自第i个元素起的K个元素}If(ia.last)thenerr

题目详情
1.指出以下算法中的错误和低效(即费时)之处,并将它改为一个既正确又高效的算法.
Proc DeleteK(VAR a:sqlist; i,k:integer);
{从顺序存储结构的线性表a中删除自第i个元素起的K个元素}
If (ia.last) then error (‘Argument invalid’)
else
for count:=1 to k do
【for j:=a.last downto i+1 do a.elem[j-1]:=a.elem[j];
a.last:=a.last-1 】
ENDP; {deleteK}
2.设顺序表Va中的数据元素递增有序.试写一算法,将X插入到顺序表的适当位置上,以保持该表的有序性.
▼优质解答
答案和解析
第一题 这样改:

for count:=1 to k do 【for j:=a.last downto i+1 do a.elem[j-1]:=a.elem[j]; a.last:=a.last-1 】
改成:
while(&a.elem[i+k]!=*(a.last)) do
a.elem[i]=a.elem[i+k];
i++;
end
if(&a.elem[i+k]==*(a.last))
a.elem[i]=a.elem[i+k];
第二题
假设va是数组,存有length个元素.
同时递增存储
va[length]=x;
for(i=length-1;i>=0;i--)
{
if(a[i]>a[i+1]){tmp=a[i+1];a[i+1]=a[i];a[i]=tmp;}
else break;
}
看看是否符合你的要求.谢谢.如果符合请采纳
看了 1.指出以下算法中的错误和低...的网友还看了以下:

1下列微粒中,不具有还原性的是:AH2BH+CFeDCO2只具有还原性的I-既有氧化性又有还原性的  2020-04-27 …

酸酐中决定酸性的元素的化合价不变是什么意思?像这个题:n元酸的酸酐R2On和碱性氧化物M2Ox高温  2020-05-13 …

社会治安综合治理的实施力量是综合性的。既要发挥公安、检察、审判、司法行政、国家安全等专门机关  2020-05-18 …

社会治安综合治理的实施力量是综合性的。既要发挥公安、检察、审判、司法行政、国家安全等专门机关的  2020-05-19 …

铸铁中提高流动性的元素为Mn、Cr;降低流动性的元素有P、Si、Cu、Ni等。  2020-06-07 …

在铁、铁离子、亚铁离子、氢离子中,只有还原性的是?只有氧化性的是?既有氧化性又有还原性的是?  2020-07-11 …

在某农田里生活着田鼠、猫头鹰、杂食性鸟、蛇、蝗虫和青蛙六种动物,它们之间的取食关系是:①猫头鹰捕食  2020-07-22 …

下表为元素周期表的一部分,请参照元素①-⑨在表中的位置,用化学用语回答下列问题:(1)在①~⑨元素中  2020-11-02 …

在短周元素中,金属性最强的元素是,最高价氧化物对应的水化物的酸性最强的元素是,最高价氧化物对应的水化  2020-11-02 …

森林里生活着高大的乔木、低矮的灌木和大量的草本植物.有许多鸟类在此栖息,有的鸟吃草籽,有的鸟是杂食性  2020-11-02 …