数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构考研分类复习真题 第五章 答案[17]


发布日期:2022年05月19日
 
数据结构考研分类复习真题 第五章 答案[17]

.错误有以下几处

)过程参数没有类型说明)出错条件判断缺少OR(i+k>last+

)删除元素时FOR循环应正向不应用反向DOWNTO)count没定义

低效体现在两处

)删除k个元素时不必一个一个元素前移而应一次前移k个位置

)last指针不应一次减而应最后一次减k

正确的高效算法如下

const m=

TYPE ARR=ARRAY[m] OF integer

PROCEDURE delk(VAR A:ARRVAR last:integer;ikinteger)

{从数组A[last]中删除第i个元素起的k个元素m为A的上限}

VAR countinteger

BEGIN

IF(i<)OR(i>last)OR(k<)OR(last>m)OR(i+k>last+

THEN write(error

ELSE[FOR count= i+k TO last DO A[countk]=A[count]

last=lastk]

END

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

               

上一篇:数据结构考研分类复习真题 第五章 答案[18]

下一篇:数据结构考研分类复习真题 第五章 答案[16]