-2
我正在写一个程序,它接受一个整数数组并将它们排序为基数16 8 10和2.我的函数适用于除2之外的所有基数。它不能正确地对数字进行排序。我一直在环顾四周,没有地方特别解释这个问题。我认为即时通讯应该使用移位(>> < <),但我不知道如何?基数2的基数排序功能不起作用?
void Sortfunc(int myarray[], int n, int base){
queue<int> bins[10];
int MAX=4; // max digits
int COUNTER=0;// position of counter
while (COUNTER < MAX) {
for(int i=0; i<n; i++){// sorts array by digit
int dividor=pow(base,COUNTER);
int temp = myarray[i];
int value = static_cast<int>((temp/dividor)%10); //gets the decimal
bins[value].push(temp);
}
没有看到你的代码我不认为我们可以给你很多建议。你能发布你有什么和你得到的具体错误吗? – templatetypedef
我得到的错误是,当我输入基数2时,数组没有正确排序。对于所有其他基数工作正常。 – G3Spin
是否有任何理由你不会使用'std :: sort'? –