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

如何设计网站建设引导页网站建设的一般过程包括哪些方面

如何设计网站建设引导页,网站建设的一般过程包括哪些方面,深圳app开发公司都有哪些,周到的做网站目录 前言 已完成内容 二叉排序树实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-BinarySearchTreeCommon.cpp 04-BinarySearchTreeFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容#xff0c;除其中使用到C引用外#xff0c;全为C语言…目录 前言 已完成内容 二叉排序树实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-BinarySearchTreeCommon.cpp 04-BinarySearchTreeFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容除其中使用到C引用外全为C语言代码。使用C引用主要是为了简化指针的使用避免二重指针的出现。 已完成内容 [数据结构]01-顺序表C语言实现_Chandni.的博客-CSDN博客 [数据结构]02-单链表C语言实现_Chandni.的博客-CSDN博客 [数据结构]03-栈C语言实现_Chandni.的博客-CSDN博客 [数据结构]04-循环队列数组C语言实现_Chandni.的博客-CSDN博客 [数据结构]05-循环队列链表C语言实现_Chandni.的博客-CSDN博客 [数据结构]06-队列链表带头结点C语言实现_Chandni.的博客-CSDN博客 [数据结构]07-二叉树无头结点C语言实现_Chandni.的博客-CSDN博客 [数据结构]08-顺序查找顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客 [数据结构]09-二分查找顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客 二叉排序树实现 01-开发环境 语言C/C14 编译器MinGW64 集成开发环境CLion2022.1.3 02-文件布局 请在CLion集成开发环境中创建C可执行程序否则无法运行原因上面已解释。 ​​  03-代码 01-主函数 用于测试二叉排序树的创建、查找、删除。 其中创建、查找使用了两种方式实现。一种是非递归形式for循环另一种是递归形式。 #include ./Head/BinarySearchTreeData.h #include ./Source/BinarySearchTreeCommon.cpp #include ./Source/BinarySearchTreeFunction.cppint main() {// 创建BinaryTree BST NULL;int data[7] {54, 20, 66, 40, 28, 79, 58};int Length 7;BinarySearchTreeCreate(BST, data, Length);InOrderTraversalTree(BST); // 有小到大printf(\n);// 查找BinaryTree OutputTree;OutputTree BinarySearchTreeSearch(BST, 66);if (OutputTree) {printf(Value %d\n, OutputTree-data);} else {printf(Not Find.\n);}// 递归创建BinaryTree BST1 NULL;BinarySearchTreeRecursionCreate(BST1, data, Length);InOrderTraversalTree(BST1); // 有小到大printf(\n);// 查找OutputTree BinarySearchTreeRecursionSearch(BST1, 66);if (OutputTree) {printf(Value %d\n, OutputTree-data);} else {printf(Not Find.\n);}// 删除BinarySearchTreeRecursionDelete(BST, 66);InOrderTraversalTree(BST);printf(\n);return 0; }02-头文件 用于存储结构体和常量等。 // // Created by 24955 on 2023-03-04. //#ifndef INC_03_BINARYSEARCH_SORT_TREE_BINARYSEARCHTREEDATA_H #define INC_03_BINARYSEARCH_SORT_TREE_BINARYSEARCHTREEDATA_H // 头文件 #include stdio.h #include stdlib.h// 常量 typedef int ElemType;// 结构体 typedef struct BinaryTreeNode {ElemType data;struct BinaryTreeNode *lChild, *rChild; } BinaryTreeNode, *BinaryTree; #endif //INC_03_BINARYSEARCH_SORT_TREE_BINARYSEARCHTREEDATA_H03-BinarySearchTreeCommon.cpp 用于存储二叉排序树打印函数中序遍历--为有序排列从小到大。 // // Created by 24955 on 2023-03-04. // // 中序遍历 void InOrderTraversalTree(BinaryTree BTree) {/** 1. 左、自身、右*/if (BTree ! NULL) {InOrderTraversalTree(BTree-lChild);printf(%3d, BTree-data);InOrderTraversalTree(BTree-rChild);} } 04-BinarySearchTreeFunction.cpp 用于存储二叉排序树创建、查找、删除等函数。 // // Created by 24955 on 2023-03-04. // // 二叉排序树插入结点 void BinarySearchTreeInsert(BinaryTree BST, ElemType value) {/** 1. 初始化新结点* 2. 判断是否为根节点* 3. 不为根节点比较两节点数值大小决定插入位置*/// 初始化新结点BinaryTree NewNode (BinaryTree) calloc(1, sizeof(BinaryTreeNode));NewNode-data value;// 循环树结点标签BinaryTree BSTLabel BST;if (BST NULL) {BST NewNode;} else {// 插入结点while (BSTLabel) {if (BSTLabel-data value) {if (BSTLabel-lChild NULL) {BSTLabel-lChild NewNode;break;} else {BSTLabel BSTLabel-lChild;}} else {if (BSTLabel-rChild NULL) {BSTLabel-rChild NewNode;break;} else {BSTLabel BSTLabel-rChild;}}}// 或者采用以下代码(用空间减少循环中判断即换时间)/*BinaryTree BSTLabelParent;while (BSTLabel) {BSTLabelParent BSTLabel;if (BSTLabel-data value) {BSTLabel BSTLabel-lChild;} else { // 不用考虑相等情况408中未考过存在相同值的情况BSTLabel BSTLabel-rChild;}}if (BSTLabelParent-data value){BSTLabelParent-lChild NewNode;} else {BSTLabelParent-rChild NewNode;}*/} }// 创建二叉排序树 void BinarySearchTreeCreate(BinaryTree BST, const ElemType data[], int Length) {/** 1. 初始化树根* 2. 按数据值大小插入树*/// const是C语言的一种关键字它所限定的变量是不允许被改变的// 树根BST NULL;for (int i 0; i Length; i) {BinarySearchTreeInsert(BST, data[i]);} }// 二叉排序树查找(也可以采用递归方式) BinaryTree BinarySearchTreeSearch(BinaryTree BST, ElemType value) {/** 1. 判断根节点值是否与待查找值相等* 2. 若相等返回根结点地址* 3. 若不相等判断是否大于当前结点值若小于BST BST-lChild;反之大于BST BST-rChild;* 4. 若未查到返回NULL*/while (BST) {if (BST-data value) {return BST;} else if (BST-data value) {BST BST-lChild;} else {BST BST-rChild;}}return NULL; }/*************************** 以下为递归方式实现 *******************************/ // 递归方法插入树新结点 void BinarySearchTreeRecursionInsert(BinaryTree BST, ElemType value) {/** 1. 判断当前结点是否为空* 2. 若为空插入* 3. 若不为空判断大小进行递归*/if (BST NULL) {// 初始化新结点BinaryTree NewNode (BinaryTree) calloc(1, sizeof(BinaryTreeNode));NewNode-data value;BST NewNode;} else {if (BST-data value) {BinarySearchTreeRecursionInsert(BST-lChild, value);} else {BinarySearchTreeRecursionInsert(BST-rChild, value);}} }// 调用递归插入函数创建二叉排序树 void BinarySearchTreeRecursionCreate(BinaryTree BST, const ElemType data[], int Length) {/** 1. 初始化树根* 2. 按数据值大小插入树*/// const是C语言的一种关键字它所限定的变量是不允许被改变的// 树根BST NULL;for (int i 0; i Length; i) {BinarySearchTreeRecursionInsert(BST, data[i]);} }void BinarySearchTreeRecursionDelete(BinaryTree BST, ElemType value) {/** 1. 若删除元素值比当前元素值小递归传入左孩子* 2. 若删除元素值比当前元素值大递归传入右孩子* 3. 若相等则判断当前元素左、右孩子是否为空* 4. 若其中任意一个为空则将另一个替代要当前元素(要删除元素)* 5. 若都不为空循环寻找当前元素左子树中最大值替代当前元素值并删除左子树中用于替代的结点*/// 防止输入的为树中未包含元素无法停止递归if (BST NULL) {return;}if (BST-data value) {BinarySearchTreeRecursionDelete(BST-lChild, value);} else if (BST-data value) {BinarySearchTreeRecursionDelete(BST-rChild, value);} else {BinaryTree FreeNode;// 若左、右孩子其中任意一个为空则将另一个替代要当前元素(要删除元素)if (BST-lChild NULL) {FreeNode BST;BST BST-rChild;free(FreeNode);} else if (BST-rChild NULL) {FreeNode BST;BST BST-lChild;free(FreeNode);} else {// 左、右孩子都不为空// 一般删除策略为左子树的最大数据 或 右子树的最小数据替代要删除的结点// 此处采用左子树的最大数据BinaryTree TemporaryTree BST-lChild;// 寻找左子树中的最大值while (TemporaryTree-rChild) {TemporaryTree TemporaryTree-rChild;}// 替代删除替代结点BST-data TemporaryTree-data;// 此处注意不要传入TemporaryTree// 经单点调试发现传入TemporaryTree会造成乱码(未将叶子结点设为NULL)BinarySearchTreeRecursionDelete(BST-lChild, TemporaryTree-data);}} }// 二叉排序树查找-递归方式 BinaryTree BinarySearchTreeRecursionSearch(BinaryTree BST, ElemType value) {/** 1. 返回值为NULL或所查找到的结点*/if (BST ! NULL BST-data ! value) {if (BST-data value) {BST BinarySearchTreeRecursionSearch(BST-lChild, value);} else {BST BinarySearchTreeRecursionSearch(BST-rChild, value);}}return BST; } 结语 此博客主要用于408考研数据结构C语言实现记录内有不足可留言可讨论。
http://www.hkea.cn/news/14477842/

相关文章:

  • 宝洁公司网站建设现状清远市清城区发布
  • 网站建设属于软件开发吗荆州网站推广怎么做
  • 建网站 域名 空间瑞安公司做网站
  • 网站开发 打标签小程序免费制作平台小程序
  • 网站建设申请费用建筑设计学什么的
  • 如何选择个人网站主题广州市民网页官网
  • 苏州建设企业网站北京牛鼻子网站建设公司
  • 郑州租赁房网站建设网站建设招商
  • 已备案个人网站做淘宝客网页升级未成年人自行离开
  • 北京旅游网站建设广东建设工程交易中心网站
  • 百度搜不到的网站商城网站建设制作
  • 制作论坛做网站360软件商店
  • 网做 网站有哪些如何做更改网站的图片
  • 哪个网站代做ppt便宜电脑公司网站模板
  • asp网站源代码下载胶州网站优化价格
  • 泉州学校网站开发网站设计公司营销crm系统
  • 怎么查看一个网站的后台网站是每年都要付费吗
  • 哪些是 joomla做的网站深圳网上专业推广公司
  • 做任务挣钱的网站聚主题教育网站建立
  • 淘宝网网站建设的的意见网站基础建设英文翻译
  • 购物网站logo免费网站注册平台
  • 大连做网站的企业付费电影怎样免费观看
  • 怎么做才能使网站ip增多免费创建个人商城网站
  • 网站上的弹框如何做网页网站开发的费用
  • cms 企业网站贵阳公司网站
  • asp网站源码说明郑州外贸网站推广
  • html5个人网站源码贵阳景观设计公司
  • 网络推广网站的方法想做农村电商怎么入手
  • 网站挂直播连接怎么做郑州百度关键词seo
  • jsp网站开发模式常州网站制作方案