binsort1.cpp

来自「一本全面剖析C++数据结构算法的书籍」· C++ 代码 · 共 41 行

CPP
41
字号
// bin sort#include <iostream.h>#include "binnode2.h"#include "chain.h"#include "xcept.h"void BinSort(Chain<Node>& X, int range){// Sort by score.   int len = X.Length();   Node x;   Chain<Node> *bin;   bin = new Chain<Node> [range + 1];   // distribute to bins   for (int i = 1; i <= len; i++) {      X.Delete(1,x);      bin[x.score].Insert(0,x);      }   // collect from bins   for (int j = range; j >= 0; j--)      while (!bin[j].IsEmpty()) {         bin[j].Delete(1,x);         X.Insert(0,x);         }   delete [] bin;}void main(void){   Node x;   Chain<Node> L;   for(int i = 1; i <= 20; i++) {   x.score = i/2;   L.Insert(0,x); }   BinSort(L,10);   cout << L << endl;}

⌨️ 快捷键说明

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