微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(C++)我关于 AVL-Tree 的 Romove(x) 函数有什么问题?当我测试它时它引起了一些中断

如何解决(C++)我关于 AVL-Tree 的 Romove(x) 函数有什么问题?当我测试它时它引起了一些中断

我创建了一个 AVL-Tree,其中包含 25 个随机整数,我希望按其原始顺序删除每个整数。
所以每次我删除一个数字时,我都会取一个 InorderTraverse。但是它导致了一些中断,我发现InorderTraverse的列表并没有一个一个地减少,它有一些缺口是这样的(见delete 143和564):>

Create AVL-Tree:
279 302 225 801 299 416 72 91 738 150 629 265 343 456 63 347 143 564 908 930 616 715 169 36 67
InorderTraverse:
36 63 67 72 91 143 150 169 225 265 279 299 302 343 347 416 456 564 616 629 715 738 801 908 930
Remove:
delete:279     Traverse: 36 63 67 72 91 143 150 169 225 265 299 302 343 347 416 456 564 616 629 715 738 801 908 930
delete:302     Traverse: 36 63 67 72 91 143 150 169 225 265 299 343 347 416 456 564 616 629 715 738 801 908 930
delete:225     Traverse: 36 63 67 72 91 143 150 169 265 299 343 347 416 456 564 616 629 715 738 801 908 930
delete:801     Traverse: 36 63 67 72 91 143 150 169 265 299 343 347 416 456 564 616 629 715 738 908 930
delete:299     Traverse: 36 63 67 72 91 143 150 169 265 343 347 416 456 564 616 629 715 738 908 930
delete:416     Traverse: 36 63 67 72 91 143 150 169 265 343 347 456 564 616 629 715 738 908 930
delete:72      Traverse: 36 63 67 91 143 150 169 265 343 347 456 564 616 629 715 738 908 930
delete:91      Traverse: 36 63 67 143 150 169 265 343 347 456 564 616 629 715 738 908 930
delete:738     Traverse: 36 63 67 143 150 169 265 343 347 456 564 616 629 715 908 930
delete:150     Traverse: 36 63 67 143 169 265 343 347 456 564 616 629 715 908 930
delete:629     Traverse: 36 63 67 143 169 265 343 347 456 564 616 715 908 930
delete:265     Traverse: 36 63 67 143 169 343 347 456 564 616 715 908 930
delete:343     Traverse: 36 63 67 143 169 347 456 564 616 715 908 930
delete:456     Traverse: 36 63 67 143 169 347 564 616 715 908 930
delete:63      Traverse: 36 67 143 169 347 564 616 715 908 930
delete:347     Traverse: 36 67 143 169 564 616 715 908 930
delete:143     Traverse: 36 67 169 564 616 715 908 930
delete:564     Traverse: 36 67 169 616 715
delete:908     Traverse: 36 67 169 616 715
delete:930     Traverse: 36 67 169 616 715
delete:616     Traverse: 36 67 169 715
delete:715     Traverse: 36 67 169
delete:169     Traverse: 36 67
delete:36      Traverse:

我已经查过我的课本,在网上搜索过,但仍然没有解决
我希望你能帮助我。非常感谢! 以下是完整代码https://paste.ubuntu.com/p/SD3pDnYNJY/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。