读书人

何位大神看下这个程序打问号的地方错

发布时间: 2013-12-26 15:24:01 作者: rapoo

哪位大神看下这个程序,打问号的地方错了,不会改啊??
void radixSort(int a[],int n,int m,int d)
{
vector<deque<int>> q[]=new vector<deque<int>>();??????
for(int i=0;i<d;i++)
{
it[i]=q[i].begin();
}
int power=1;
for(int i=0;i<m;i++)
{
if(i==0)power=1;
else power*=d;
for(int j=0;j<n;j++)
{
int k=a[j]/power-(a[j]/(power*d)*d);
q[k].push_back(a[j]);??????
}
int k=0;
for(int j=0;j<d;j++)
{
while(!q[j].empty())
{
a[k++]=(int)q[j].front().front();
q[j].pop_back();
}
}
}
}
[解决办法]
vector<deque<int>>* q=new vector<deque<int>>[N];

N就数组的长度。 如果你用的编译器比较老(不支持最新的C++11标准的话),前边各位提的前后加空格(实际上只需要后边加避免与移位运算符冲突)也是需要的
[解决办法]



引用:
Quote: 引用:


vector< deque<int> > //避免歧义
//把一个双端队列丢到vector向量里呗,

push_back(); //向容器里丢数据

vector< deque<int> > 这个怎么定义一个队列数组




deque<int>* d=new deque<int>[N];

读书人网 >C++

热点推荐