当前位置: 首页 > news >正文

做电商在什么网站珠珠宝宝网网站站建建设设

做电商在什么网站,珠珠宝宝网网站站建建设设,wordpress双导航栏,学校网站的页头图片做目录 一、二叉树的基础操作 二、二叉树代码图解 2.1 遍历 2.2 求大小 2.3 创建与销毁 2.4 与队列结合解决问题 三、二叉树C语言源码汇总 二叉树的代码实现运用了函数递归的思想#xff0c;了解函数递归的知识请见博主的另一篇博客#xff1a; http://t.csdnimg.cn/Po…目录 一、二叉树的基础操作 二、二叉树代码图解 2.1 遍历 2.2 求大小 2.3 创建与销毁 2.4 与队列结合解决问题 三、二叉树C语言源码汇总 二叉树的代码实现运用了函数递归的思想了解函数递归的知识请见博主的另一篇博客 http://t.csdnimg.cn/PoMtd 一、二叉树的基础操作 typedef int BTDataType;typedef struct BinaryTreeNode {BTDataType data; // 当前结点值域 struct BinaryTreeNode* left; // 指向当前节点左孩子struct BinaryTreeNode* right; // 指向当前节点右孩子 }BTNode;//创建二叉树 BTNode* CreatBinaryTree(); //前序遍历 void PrevOrder(BTNode* root); //中序遍历 void InOrder(BTNode* root); //后序遍历 void PostOrder(BTNode* root); //结点个数 int TreeSize(BTNode* root); //叶子结点个数 int TreeLeafSize(BTNode* root); //二叉树高度 int TreeHeight(BTNode* root); //二叉树第k层结点个数 int TreeLevelKSize(BTNode* root, int k); //二叉树查找值为x的结点 BTNode* TreeFind(BTNode* root, int x); // 通过前序遍历的数组ABD##E#H##CF##G##构建二叉树 BTNode* CreateTree(char* a, int* pi); //二叉树的销毁 void BinaryTreeDestory(BTNode* root); // 判断二叉树是否是完全二叉树 bool BinaryTreeComplete(BTNode* root); //层序遍历 void TreeLevelOrder(BTNode* root); 二、二叉树代码图解 2.1 遍历 详见博主的另一篇博客http://t.csdnimg.cn/YnlIr 2.2 求大小 详见博主的另一篇博客http://t.csdnimg.cn/Ce2Fs 2.3 创建与销毁 详见博主的另一篇博客http://t.csdnimg.cn/LXt8P 2.4 与队列结合解决问题 详见博主的另一篇博客http://t.csdnimg.cn/zbNis 三、二叉树C语言源码汇总 BTNode* BuyNode(int x) {BTNode* node (BTNode*)malloc(sizeof(BTNode));if (node NULL){perror(malloc fail);return NULL;}node-data x;node-left NULL;node-right NULL;return node; } //手动造树测试用 BTNode* CreatBinaryTree() {BTNode* node1 BuyNode(1);BTNode* node2 BuyNode(2);BTNode* node3 BuyNode(3);BTNode* node4 BuyNode(4);BTNode* node5 BuyNode(5);BTNode* node6 BuyNode(6);BTNode* node7 BuyNode(7);node1-left node2;node1-right node4;node2-left node3;node4-left node5;node4-right node6;node5-right node7;return node1; } //前序遍历 void PrevOrder(BTNode* root) {if (root NULL){printf(N );return;}printf(%d , root-data);PrevOrder(root-left);PrevOrder(root-right); } //中序遍历 void InOrder(BTNode* root) {if (root NULL){printf(N );return;}InOrder(root-left);printf(%d , root-data);InOrder(root-right); } //后序遍历 void PostOrder(BTNode* root) {if (root NULL){printf(N );return;}PostOrder(root-left);PostOrder(root-right);printf(%d , root-data); } //结点个数 int TreeSize(BTNode* root) {if (root NULL){return 0;}return TreeSize(root-left) TreeSize(root-right) 1; } //叶子结点个数 int TreeLeafSize(BTNode* root) {if (root NULL){return 0;}if (root-left NULL root-right NULL){return 1;}return TreeLeafSize(root-left) TreeLeafSize(root-right);} //二叉树高度 int TreeHeight(BTNode* root) {if (root NULL){return 0;}int leftHeight TreeHeight(root-left);int rightHeight TreeHeight(root-right);return leftHeight rightHeight ?leftHeight 1 : rightHeight 1; } //求第K层的节点数目 int TreeLevelKSize(BTNode* root, int k) {if (root NULL){return 0;}if (k 1){return 1;}return TreeLevelKSize(root-left, k - 1) TreeLevelKSize(root-right, k - 1); } //查找值为x的节点 BTNode* TreeFind(BTNode* root, int x) {if (root NULL){return NULL;}if (root-data x){return root;}BTNode* ret1 TreeFind(root-left, x);if (ret1){return ret1;}BTNode* ret2 TreeFind(root-right, x);if (ret2){return ret2;}return NULL; } // 通过前序遍历的数组ABD##E#H##CF##G##构建二叉树 BTNode* CreateTree(char* a, int* pi) {if (a[*pi] #){(*pi);return NULL;}BTNode* root (BTNode*)malloc(sizeof(BTNode));if (root NULL){perror(malloc);exit(1);}root-data a[(*pi)];root-left CreateTree(a, pi);root-right CreateTree(a, pi);return root; } //二叉树的销毁 void BinaryTreeDestory(BTNode* root) {//判空if (root NULL){return NULL;}//释放左子树BinaryTreeDestory(root-left);//释放右子树BinaryTreeDestory(root-right);//释放本身结点free(root); } //层序遍历 void TreeLevelOrder(BTNode* root) {Queue q;QueueInit(q);if (root){QueuePush(q, root);}while (QueueEmpty(q)false){BTNode* front QueueFront(q);QueuePop(q);printf(%d , front-data);if (front-left){QueuePush(q, front-left);}if (front-right){QueuePush(q, front-right);}}QueueDestroy(q); } //判断二叉树是否是完全二叉树 bool BinaryTreeComplete(BTNode* root) {Queue q;QueueInit(q);if (root ! NULL){QueuePush(q, root);}//入队遇到空停止入队while (!QueueEmpty(q)){BTNode* front QueueFront(q);QueuePop(q);if (front NULL){break;}QueuePush(q, front-left);QueuePush(q, front-right);}//判断后面是否还有非空while (!QueueEmpty(q)){BTNode* front QueueFront(q);QueuePop(q);if (front ! NULL){return false;}}QueueDestroy(q);return true; }
http://www.hkea.cn/news/14458488/

相关文章:

  • 网站排名顾问网页转微信小程序
  • 网站适配手机怎么做室内设计效果图 客厅
  • 不会代码可以做网站吗专门做二手的网站
  • 怎么用记事本做钓鱼网站wordpress发布软件
  • 珠海专业网站建设公司哪家好宁波seo快速优化平台
  • 重庆茂尔建设集团有限公司网站seo标题关键词怎么写
  • 免费手机网站系统wordpress和织梦百度收录
  • wordpress title description惠州seo排名公司
  • 品牌网球两个相同的网站对做优化有帮助
  • 网站站长如何赚钱网站建设基础教程视频
  • 做网站编辑要会什么施工企业项目管理中心岗位职责
  • 支付建设网站的费用什么科目wordpress 分类p
  • 移动互联网站开发与维护关于做血糖仪的网站
  • 网站推荐几个免费的营销型网站建设工资
  • 方案 网站wordpress360收录插件
  • dw做的网站怎么全屏稿定设计app下载
  • jsp是网站开发语言吗苏州高新区建设局网站
  • 东莞模板网站好wordpress 哪个好用吗
  • 高大上的平面设计网站杭州西湖区抖音seo哪里找
  • 做ae动图的网站杭州网站外包公司
  • 做环保的网站有哪些网站线上投票怎样做
  • 网站换域名要怎么做帮别人做非法网站
  • 如何做网站搬家建筑 企业官网设计
  • 做公司 网站建设价格低免费 微网站
  • 苏州行业网站建设服务网站建设与管理 管理课程
  • 专业做网站厂家seo优化心得
  • 成都做网站的公司哪家好网络推广宣传方式
  • 住房建设部投诉网站无锡做公司网站
  • 怎么做企业网站二维码扫描重庆微信网站开发公司
  • 贵州省建设厅官网网站wordpress 基础主题