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

數據結構考研分類復習真題 第二章 答案[37]

2013-11-15 15:23:30  來源: 數據結構 

  .[題目分析] 本題要求對單鏈表結點的元素值進行運算判斷元素值是否等於其序號的平方減去其前驅的值這裡主要技術問題是結點的序號和前驅及後繼指針的正確指向

  int  Judge(LinkedList  la)∥la是結點的元素為整數的單鏈表本算法判斷從第二結點開始每個元素值是否等於其序號的平方減去其前驅的值如是返回true;否則返回false
  {p=la>next>next;∥p是工作指針初始指向鏈表的第二項
  pre=la>next;∥pre是p所指結點的前驅指針
  i=;∥i是la鏈表中結點的序號初始值為
  while(p!=null)
  if(p>data==i*ipre>data){i++;pre=p;p=p>next;}∥結點值間的關系符合題目要求
  else  break;∥當前結點的值不等於其序號的平方減去前驅的值
  if(p!=null)return(false);∥未查到表尾就結束了
  else  return(true);∥成功返回
  }∥算法結束
  [算法討論]本題不設頭結點也無影響另外算法中還可節省前驅指針pre其算法片段如下
  p=la;∥假設無頭結點初始p指向第一元素結點
  i=;
  while(p>next!=null)∥初始p>next指向第二項
  if(p>next>data= =i*ip>data)
  {i++;p=p>next;}
  if(p>next!=null)return(false);∥失敗
  else return(true);∥成功

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


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