-2
我做了一個函數打印一個BTree在水平順序沒有遞歸的方式。運行時錯誤c項目
和我有一個問題找到我的錯誤..出現以下問題。
運行時檢查失敗#2 - 圍繞變量'pq'的堆棧已損壞。 如果有人能說出問題在哪裏,或者下次我可以如何找到它...? 如果需要,我添加完整的項目。所有的 enter link description here
void PrintTreeLevelOrder(bstree tree){ //The problem some where here.....
queue *pq = (queue*)malloc(sizeof(queue)); // is struct of : *front, *rear
node *current;// is struct of : root
create_queue(&pq);//create queue- items_num = 0,front = NULL,rear = NULL
if (tree.root == NULL) {
printf("Your Tree Is Empty:\n");
return;
}
current = tree.root;
enqueue(current, &pq);
printf("Your Tree Displayed As Queue:\n");
while ((size_of_queue(&pq))!=0) {
current = pq->front;
printf("%d ", current->data);
if (current->left != NULL)
enqueue(current->left, &pq);
if (current->right)
enqueue(current->right, &pq);
dequeue(&pq, ¤t);
}
}
你以某種方式覆蓋內存,但是你可能會這樣做的所有功能都不在你的例子中。 –
請製作[MCVE](強調__minimal__)。 –
我添加一個鏈接到所有的功能和數據結構... –