void QueueAppend(LQueue *Q, int x)
{
LQNode *p = (LQNode *)malloc(sizeof(LQNode *));+++++++++++++++
p->data = x;
p->next = NULL;
if(Q->rear != NULL)
Q->rear->next = p;
Q->rear = p;
if(Q->rear == NULL)
Q->front == p;
}
void RadixSort(int *a,int n, int m,int d)
{
int i, j, k, power = 1;
LQueue *tub;
tub = (LQueue *)malloc(sizeof (LQueue )* d);
for(i = 0; i < d; i++)
QueueInitiate(&tub[i]);
for(i = 0; i < m; i++){
if(i == 0)
power = 1;
else
power = power *d;
for(j = 0; j < n; j++){
k = a[j] /power - (a[j] /(power * d)) * d;
QueueAppend(&tub[k], a[j]); +++++++++++
}
k = 0;
for(j = 0; j < d; j++)
while(QueueNotEmpty(tub[j]) != 0){
QueueDelete(&tub[j], &a[k]);
k++;
}
}
}
我用RadixSort呼叫了QueueAppend 但是除錯到標志了+++++的陳述句后就發生了斷點。編譯器是vs2012
uj5u.com熱心網友回復:
LQNode *p = (LQNode *)malloc(sizeof(LQNode *));=========================
申請的是指標,錯,應該是結構體
uj5u.com熱心網友回復:
修改了還是觸發斷點
uj5u.com熱心網友回復:
QueueAppend在main函式里面執行時不會觸發斷點,在RadixSort里時就觸發了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/168223.html
標籤:新手樂園
