⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radix.cpp

📁 数据结构与程序设计教材源码 数据结构与程序设计教材源码
💻 CPP
字号:
 
const int max_chars = 28;
 
template <class Record>
void Sortable_list<Record>::rethread(Queue queues[])
/* 
 
Post: All the queues are combined back to the Sortable_list, leaving
      all the queues empty.
Uses: Methods of classes List, and Queue.
 
*/
{
   Record data;
   for (int i = 0; i < max_chars; i++)
      while (!queues[i].empty()) {
         queues[i].retrieve(data);
         insert(size(), data);
         queues[i].serve();
      }
}
 
template <class Record>
void Sortable_list<Record>::radix_sort()
/* 
 
Post: The entries of the Sortable_list have been sorted
so all their keys are in alphabetical order.
Uses: Methods from classes List, Queue, and Record; 
functions position and rethread.
 
*/

{
   Record data;
   Queue queues[max_chars];
   for (int position = key_size - 1; position >= 0; position--) {
      //   Loop from the least to the most significant position.
      while (remove(0, data) == success) {
         int queue_number = alphabetic_order(data.key_letter(position));
         queues[queue_number].append(data);    //   Queue operation.
      }
      rethread(queues);                        //   Reassemble the list.
   }
}

⌨️ 快捷键说明

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