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

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

2013-11-15 15:17:46  來源: 數據結構 

   [題目分析]把待查記錄看作樞軸先由後向前依次比較若小於樞軸則從前向後直到查找成功返回其位置或失敗返回為止
  int index (RecType R[]int lhdatatype key)
  {  int i=lj=h;
  while (i<j)
  { while (i<=j && R[j]key>key) j;
  if (R[j]key==key) return  j;
  while (i<=j && R[i]key<key) i++;
  if (R[i]key==key) return  i;
  }
  printf(Not find) ; return  ;
  }//index

   () [題目分析]從第n個記錄開始依次與其雙親(n/)比較若大於雙親則交換繼而與其雙親的雙親比較以此類推直到根為止

  void sift(RecType R[]int n)
  { //假設 R[n]是大堆本算法把R[n]調成大堆
  j=n;  R[]=R[j];
  for (i=n/;i>=;i=i/)
  if (R[]key>R[i]key){ R[j]=R[i];j=i;} else break;
  R[j]=R[];
  }//sift
  ()void HeapBuilder(RecType R[]int n)
  { for (i=;i<=n;i++) sift (Ri); }

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


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