我只需要适用于字符串的 c++ 语言中的基数排序实现
我已经有一个适用于普通整数的
vector < vector < int> > blocks[7];
void radixSort(int rsarr[],int length){
int index;
vector<int> helper;
vector< vector<int> > helper2;
for(int e=0;e<10;e++){
helper2.push_back(helper);
}
for(int r=0;r<7;r++){
blocks[r]=helper2;
}
for(int y=0;y<length;y++){
index=(int)(rsarr[y])%10;
blocks[0][index].push_back((rsarr[y]));
}
for(int j=1;j<7;j++)
{
for(int k=0;k<10;k++)
{
for(int i=0;i<blocks[j-1][k].size();i++)
{
index=(int)(blocks[j-1][k][i]/pow(10,j))%10;
blocks[j][index].push_back(blocks[j-1][k][i]);
}
}
}
int q=0;
for(int f=0;f<blocks[6][0].size();f++){
rsarr[q]= blocks[6][0][f];
q++;
}
if(blocks[6][1].size()==1)
{
rsarr[q]=blocks[6][1][0];
}
for(int z=0;z<7;z++)
{
blocks[0].clear();
}
}