algo1104.cpp

来自「严蔚敏的数据结构(C语言)源码」· C++ 代码 · 共 17 行

CPP
17
字号
void Replace_Selection(LoserTree &ls, WorkArea &wa, 
                       FILE *fi, FILE *fo) { // 算法11.4
  // 在败者树ls和内存工作区wa上用置换-选择排序求初始归并段,fi为输入文
  // 件(只读文件)指针,fo为输出文件(只写文件)指针,两文件均已打开
  RcdType RUNEND_SYMBOL;      //  段结束标志
  RUNEND_SYMBOL.key=MAXKEY;
  Construct_Loser (ls, wa);   // 初建败者树
  rc = rmax = 1;         // rc指示当前生成的初始归并段的段号,
                         // rmax指示wa中关键字所属初始归并段的最大段号
  while (rc <= rmax) { // "rc=rmax+1"标志输入文件的置换-选择排序已完成
    get_run(ls, wa);   // 求得一个初始归并段
    fwrite(&RUNEND_SYMBOL, sizeof(RcdType), 1, fo);  
        // 将段结束标志写入输出文件
    rc = wa[ls[0]].rnum;      // 设置下一段的段号
  }
} // Replace_Selection

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?