代码是用queue实现的基数排序,其中arrlength表示数组长度,maxbit表示arr数组中int型整数的最大位数,如果maxbit=3,表示最大为3位数,即不超过999
/**************************************
/* <FUNC>
/* 函数名 : Radix Sort
/* </FUNC>
***************************************/
#include <iostream>
#include <queue>
using namespace std;
//用queue实现的基数排序
//arrlength表示数组长度
//maxbit表示arr数组中int型整数的最大位数,如果maxbit=3,表示最大为3位数,即不超过999
void RadixSort_queue(int arr[], int arrlength, int maxbit)
{
queue<int> arrqueue,q0,q1,q2,q3,q4,q5,q6,q7,q8,q9;
for(int ii = 0; ii < arrlength; ++ii)
arrqueue.push(arr[ii]);
int thecurrentnum;
int radix = 1;
for(int j = 1; j <= maxbit; ++j)
{
while(!arrqueue.empty())
{
thecurrentnum = arrqueue.front();
arrqueue.pop();
int num = (thecurrentnum/radix)%10;
switch (num)
{
case 0: q0.p