algo1015.cpp

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

CPP
16
字号
void Distribute(SLList &L, int i, ArrType &f, ArrType &e) {  
  // 算法10.15
  // 静态链表L的r域中记录已按(keys[0],...,keys[i-1])有序,
  // 本算法按第i个关键字keys[i]建立RADIX个子表,
  // 使同一子表中记录的keys[i]相同。f[0..RADIX-1]和e[0..RADIX-1]
  // 分别指向各子表中第一个和最后一个记录。
  int j, p;
  for (j=0; j<RADIX; ++j) f[j] = 0;     // 各子表初始化为空表
  for (p=L.r[0].next;  p;  p=L.r[p].next) {
    j = L.r[p].keys[i]-'0';  // 将记录中第i个关键字映射到[0..RADIX-1],
    if (!f[j]) f[j] = p;
    else L.r[e[j]].next = p;
    e[j] = p;                // 将p所指的结点插入第j个子表中
  }
} // Distribute

⌨️ 快捷键说明

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