知识大全 数据结构考研分类复习真题 第三章 答案[25]

Posted 元素

篇首语:人无常识,百事难成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[25]相关的知识,希望对你有一定的参考价值。

   [题目分析] 双端队列示意图如下(设maxsize = )

  用上述一维数组作存储结构 把它看作首尾相接的循环队列 可以在任一端(end 或end )进行插入或删除 初始状态end + =end 被认为是队空状态 end =end 被认为是队满状态 (左端队列)end 指向队尾元素的前一位置 end 指向(右端队列)队尾元素的后一位置 入队时判队满 出队(删除)时判队空 删除一个元素时 首先查找该元素 然后 从队尾将该元素前的元素依次向后或向前(视end 端或end 端而异)移动

  FUNC add (Qu:deque; var x:datatype;tag ):integer;  //在双端队列Qu中插入元素x 若插入成功 返回插入元素在Qu中的下标 插入失败返回 tag= 表示在end 端插入 tag= 表示在end 端插入   IF Qu end =Qu end THEN [writeln( 队满 );return( );]  CASE tag OF   : //在end 端插入  [Qu end :=x;                       //插入x  Qu end :=(Qu end ) MOD maxsize; //修改end   RETURN(Qu end + ) MOD maxsize);   //返回插入元素的下标    : //在end 端插入  [Qu end :=x;  Qu end :=(Qu end + ) MOD maxsize;  RETURN(Qu end ) MOD maxsize);  ]  ENDC; //结束CASE语句  ENDF; //结束算法add  FUNC delete (Qu: deque; VAR x:datatype; tag: ):integer;  //本算法在双端队列Qu中删除元素x tag= 时从end 端删除 tag= 时从end 端删除 删除成功返回 否则返回   IF (Qu end + ) MOD maxsize=Qu end THEN [writeln( 队空 );return( );]  CASE tag OF   : //从end 端删除  [i:=(Qu end + ) MOD maxsize; //i是end 端最后插入的元素下标   WHILE(i<>Qu end ) AND (Qu elem[i]<>x) DO  i=(i+ ) MOD maxsize;//查找被删除元素x的位置  IF (Qu elem[i]=x) AND (i<>Qu end ) THEN  [ j:=i;  WHILE((j +maxsize) MOD maxsize <>Qu end ) DO  [Qu elem[j]:=Qu elem[(j +maxsize) MOD maxsize];  j:=(j +maxsize) MOD maxsize;  ]//移动元素 覆蓋达到删除  Qu end :=(Qu end + ) MOD maxsize; //修改end 指针  RETURN( );  ]  ELSE RETURN( );  ]//结束从end 端删除    : //从end 端删除  [i:=(Qu end +maxsize) MOD maxsize; //i是end 端最后插入的元素下标   WHILE(i<>Qu end ) AND (Qu elem[i]<>x) DO  i=(i +maxsize) MOD maxsize;//查找被删除元素x的下标  IF (Qu elem[i]=x) AND (i<>Qu end ) THEN //被删除元素找到  [ j:=i;  WHILE((j+ ) MOD maxsize <>Qu end ) DO  [Qu elem[j]:=Qu elem[(j+ ) MOD maxsize];  j:=(j+ ) MOD maxsize;  ]//移动元素 覆蓋达到删除  Qu end :=(Qu end +maxsize) MOD maxsize; //修改end 指针  RETURN( );//返回删除成功的信息  ]  ELSE RETURN( );//删除失败  ]//结束在end 端删除   ENDC;//结束CASE语句  ENDF;//结束delete

  [算法讨论]请注意下标运算 (i+ ) MOD maxsize容易理解 考虑到i 可能为负的情况 所以求下个i时用了(i +maxsize) MOD maxsize

cha138/Article/program/sjjg/201311/22696

相关参考