熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構考研分類復習真題 第二章 線性表[18]

2013-11-15 14:55:55  來源: 數據結構 

  .對於給定的線性鏈表head 下面的程序過程實現了按結點值非降次序輸出鏈表中的所有結點在每次輸出一個結點時就把剛輸出的結點從鏈表中刪去請在劃線處填上適當的內容使之成為一個完整的程序過程每個空框只填一個語句

  TYPE   nodeptr =^ nodetype
  nodetype = RECORD
  data : integerlink : nodeptr
  END;
  VAR  head : nodeptr
  PROCEDURE  sort_output_delete (head : nodeptr);
  VAR pqrs: nodeptr;
  BEGIN  WHILE head <> NIL  DO
  BEGIN  p:= NIL q:= headr:= q s:=q^link
  WHILE  s <> NIL  DO
  BEGIN  IF  s^data < q^data THEN  BEGIN    ()  ;   ()   END
  r:= s   ()
  END
  write(q^data : )
  IF p=NIL THEN   ()    ELSE    ()  
  dispose (q)
  END
  writeln
  END【復旦大學 七(分) 一(分)與本題相似】

  .下面函數的功能是在一個按訪問頻度不增有序的帶頭結點的雙向鏈環上檢索關鍵值為x的結點對該結點訪問頻度計數並維護該鏈環有序若未找到則插入該結點所有結點的頻度域初值在建表時都為零請將程序中四處空缺補寫完整

  TYPE
  link=^node
  node=RECORD
  key:char; freq:integer; prenext:link;
  END;
  VAR   l:link;
  FUNCTION  loc(l:link;x:char):link;
  VAR  pq:link;
  BEGIN
  p:=l^next;  () 
  WHILE  p^key<>x   DO  p:=p^next;
  IF  p=l   THEN  [ new(q); q^key:=x; q^freq:= ]
  ELSE  {找到}
  [ p^freq:=p^freq+; q:=p;  () 
  WHILE  q^freq>p^pre^freq  DO  p:=p^pre;
  IF   p<>q   THEN  [  ()   ]
  ]
  IF   ()   THEN [q^next:=p q^pre;=p^pre; p^pre^next:=q;  p^pre:=q]
  return(q);
  END;【北京工業大學 五 (分)】

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


From:http://tw.wingwit.com/Article/program/sjjg/201311/22554.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.