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

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

2013-11-15 15:16:57  來源: 數據結構 


  void BiInsertSort(RecType  R[]int n)
  {//二路插入排序的算法
  int d[n+];               //輔助存儲
  d[]=R[];first=;final=;
  for(i=;i<=n;i++)
  { if(R[i]key>=d[]key) //插入後部
  {  low=;high=final;
  while (low<=high)  //折半查找插入位置
  { m=(low+high)/;
  if(R[i]key< d[m]key) high=m; else low=m+;
  }//while
  for (j=final;j>=high+;j) d[j+] = d[j];//移動元素
  d[high+]=R[i]; final++; //插入有序位置
  }
  else //插入前部
  { if(first==){ first=n; d[n]=R[i];}
  else{ low=first;high=n;
  while (low<=high)
  { m=(low+high)/;
  if(R[i]key< d[m]key) high=m; else low=m+;
  }//while
  for (j=first;j<=high;j++) d[j] = d[j]; //移動元素
  d[high]=R[i]; first;
  }//if
  }//if
  }//for
  R[] =d[fisrt];
  for(i=first%n+j=;i!=fisrt;i=i%n+j++) R[j] =d[i]; //將序列復制回去
  }//BiInsertSort

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


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