• 头歌-数据结构-二叉查找树的应用


    第1关:二叉排序树应用一

    1. #include "binary_sort_tree.h"
    2. BiTreeNode* insertBiSortTree(BiTreeNode* root, int key)
    3. // 功能:实现向升序二叉排序树插入元素
    4. // 输入:待插入元素key
    5. // 返回:升序二叉排序树根节点
    6. {
    7. // 请在这里补充代码,完成本关任务
    8. /********** Begin *********/
    9. if (root == NULL)
    10. {
    11. BiTreeNode *newNode = new BiTreeNode(key);
    12. return newNode;
    13. }
    14. if (root->data>key) {
    15. if(root->left) insertBiSortTree(root->left, key);
    16. else root->left=new BiTreeNode(key);
    17. }else
    18. {
    19. if(root->right) insertBiSortTree(root->right, key);
    20. else root->right=new BiTreeNode(key);
    21. }
    22. return root;
    23. /********** End **********/
    24. }
    25. BiTreeNode* creatBiSortTree(int* arr, int n)
    26. // 功能:实现创建升序二叉排序树
    27. // 输入:无序整数数列arr,数列个数n
    28. // 返回:升序二叉排序树根节点
    29. {
    30. // 请在这里补充代码,完成本关任务
    31. /********** Begin *********/
    32. if(!arr) return NULL;
    33. BiTreeNode* bt=NULL;
    34. for(int i=0 ; i
    35. bt=insertBiSortTree(bt, arr[i]);
    36. }
    37. return bt;
    38. /********** End **********/
    39. }

    第2关:二叉排序树应用二

    1. #include "binary_sort_tree.h"
    2. int* InOrder(BiTreeNode* root, int* arr, int &i)
    3. // 功能:实现升序二叉排序树的中序遍历
    4. // 参数:二叉树根节点root,整数数列arr,起始下标i=0
    5. // 返回:中序遍历数列arr
    6. {
    7. // 请在这里补充代码,完成本关任务
    8. /********** Begin *********/
    9. if(!root) return NULL;
    10. InOrder(root->left, arr, i);
    11. arr[i++]=root->data;
    12. InOrder(root->right, arr, i);
    13. return arr;
    14. /********** End **********/
    15. }
    16. bool isOrder(int* arr, int n)
    17. // 功能:判断数列arr是否升序
    18. // 参数:数列arr,数列个数n
    19. // 返回:若升序返回true,否则返回false
    20. {
    21. // 请在这里补充代码,完成本关任务
    22. /********** Begin *********/
    23. for(int j=0 ; j-1; j++)
    24. {
    25. if(arr[j+1]return false;
    26. }
    27. return true;
    28. /********** End **********/
    29. }

  • 相关阅读:
    Nacos注册表解读
    Camtasia 2024.3.7 Mac功能强大的屏幕录制和视频编辑软件
    开发小程序遇到的问题
    【经验分享】数学建模团队准备解决方案流程策略分享
    极简OpenFoam编程
    uniapp 封装进度条组件
    使用BurpSuite抓取HTTPS接口
    基于布谷鸟优化的BP神经网络(预测应用) - 附代码
    线程是如何在 6 种状态之间转换的?
    11-如何确保Container运行状态-Health Check
  • 原文地址:https://blog.csdn.net/toptopniba/article/details/134383837