数据结构试题(4)

2021-01-20 21:56

六、填空题(每空2分,共10分)

29、设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次 L.Locate (x)操作时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。

函数中有些语句缺失,请将它们补上。(每一个空2分,共10分) template< class Type>

void DblList<Type> :: Locate ( Type & x) {

DblNode<Type>*p=first->next ;

While (p ! = frist && ① )p = ->next; If (p ! =first){ //链表中存在x ② ; //该结点的访问频度加l

DblNode<Type>*current=p; //从链表中摘下这个结点 Current prior next = current next; Current next prior = current prior;

P=current prior; //寻找重新插入的位置 While (p !=first && ③ )

P=p prior ;

Current next= ④ ; //插入在p之后 Current prior=p ; P next prior=current ; P next= ⑤ ; }

else cout<<”Sorry.Not find! \n”; //没找到

}

缺失的内容为: ① ② ③ ④ ⑤


数据结构试题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机械工程测试技术基础答案(第三版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: