[英]Binary Search Tree - In-order Traversal
我正在嘗試使用BST制作填字游戲,我目前在樹中插入了以下單詞:
單詞,威爾,威爾,威爾士,枯萎,蘋果,abs,古怪(按此順序插入)
但是每次我在Visual Studio中調試程序時,都會出現錯誤
Exception thrown at 0x008DE28C in AVLBSTcrosswordhunter.exe: 0xC0000005: Access violation writing location 0x0000001C.
但是,當跟蹤變量時,我遍歷的變量永遠不會設置為1,因此我不會在while循環中退出,錯誤發生在內部,我只是不確定在哪里以及為什么。
while (!traversed)
{
if (temp != NULL)
{
if (temp->word.substr(0, sub_num) == value.substr(0, sub_num))
{
count++;
}
s.push(temp);
temp = temp->left;
}
else
{
if (!s.empty())
{
temp = s.top();
s.pop();
temp = temp->right;
}
if (s.empty())
{
traversed = 1;
}
}
}
為了清楚起見,我要搜索的單詞是“ w ***”(“ *”是通配符),因此if語句檢查指針temp是否具有子字符串w,如果聲音則增加計數,所以我可以傳回與該通配符搜索匹配的數字。
另外,在while循環之前,將temp設置為根(字)。
感謝您提供的任何幫助!
看來我匆忙完成此操作時創建了兩個遍歷變量和兩個堆棧變量,現在看來可以正常工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.