文件: baseSort.h baseSort.cpp
命令: g++ baseSort.cpp -o baseSort
/*baseSort.h*/
/*
* the head file of baseSort
* */
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct node
{
struct node *prior;
struct node *next;
long long key;
}DNode;
//function power:1000 == power(10,3);
double power(int m,int n)
{
if(n <= 0)
{
cout<<"paramater error!\n";
exit(0);
}
double tmp=1;
while(n > 0)
{
tmp =tmp * m;
n--;
}
return tmp;
}
template<class Type>
void radix_sort(Type *L,int k)
{
Type *Lhead[10],*p;
int i,j;
for(i=0;i<10;i++)
Lhead[i] = new Type;
for(i=0;i<k;i++)
{
for(j=0;j<10;j++)
{
Lhead[j]->prior = Lhead[j]->next = Lhead[j];
}
while(L->next != L)
{
p = del_entry