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

营销型网站的特点有哪些发布建设网站

营销型网站的特点有哪些,发布建设网站,网页游戏搬砖赚钱,千图网免费素材图库背景数据结构平衡二叉树参考代码如下#xff1a;/*名称#xff1a;平衡二叉树语言#xff1a;数据结构C语言版编译环境#xff1a;VC 6.0日期#xff1a; 2014-3-26*/#include #include #include #define LH 1 // 左高#define EH 0 // 等高#define RH -1 // 右高#define N 5 /…数据结构平衡二叉树参考代码如下/*名称平衡二叉树语言数据结构C语言版编译环境VC 6.0日期 2014-3-26*/#include #include #include #define LH 1 // 左高#define EH 0 // 等高#define RH -1 // 右高#define N 5 // 数据元素个数typedef char KeyType; // 设关键字域为字符型typedef struct{KeyType key;int order;}ElemType; // 数据元素类型// 平衡二叉树的类型typedef struct BSTNode{ElemType data;// bf结点的平衡因子,只能够取0-11它是左子树的深度减去// 右子树的深度得到的int bf;struct BSTNode *lchild,*rchild; // 左、右孩子指针}BSTNode,*BSTree;// 构造一个空的动态查找表DTint InitDSTable(BSTree *DT){*DTNULL;return 1;}// 销毁动态查找表DTvoid DestroyDSTable(BSTree *DT){if(*DT) // 非空树{if((*DT)-lchild) // 有左孩子DestroyDSTable((*DT)-lchild); // 销毁左孩子子树if((*DT)-rchild) // 有右孩子DestroyDSTable((*DT)-rchild); // 销毁右孩子子树free(*DT); // 释放根结点*DTNULL; // 空指针赋0}}// 在根指针T所指二叉排序树中递归地查找某关键字等于key的数据元素// 若查找成功则返回指向该数据元素结点的指针,否则返回空指针。BSTree SearchBST(BSTree T,KeyType key){if((!T)|| (key T-data.key))return T; // 查找结束else if(key T-data.key) // 在左子树中继续查找return SearchBST(T-lchild,key);elsereturn SearchBST(T-rchild,key); // 在右子树中继续查找}// 对以*p为根的二叉排序树作右旋处理处理之后p指向新的树根结点即旋转// 处理之前的左子树的根结点。void R_Rotate(BSTree *p){BSTree lc;lc(*p)-lchild; // lc指向p的左子树根结点(*p)-lchildlc-rchild; // lc的右子树挂接为p的左子树lc-rchild*p;*plc; // p指向新的根结点}// 对以*p为根的二叉排序树作左旋处理处理之后p指向新的树根结点即旋转// 处理之前的右子树的根结点。void L_Rotate(BSTree *p){BSTree rc;rc(*p)-rchild; // rc指向p的右子树根结点(*p)-rchildrc-lchild; // rc的左子树挂接为p的右子树rc-lchild*p;*prc; // p指向新的根结点}// 对以指针T所指结点为根的二叉树作左平衡旋转处理本算法结束时// 指针T指向新的根结点。void LeftBalance(BSTree *T){BSTree lc,rd;lc(*T)-lchild; // lc指向*T的左子树根结点switch(lc-bf){ // 检查*T的左子树的平衡度并作相应平衡处理case LH: // 新结点插入在*T的左孩子的左子树上要作单右旋处理(*T)-bflc-bfEH;R_Rotate(T);break;case RH: // 新结点插入在*T的左孩子的右子树上要作双旋处理rdlc-rchild; // rd指向*T的左孩子的右子树根switch(rd-bf){ // 修改*T及其左孩子的平衡因子case LH:(*T)-bfRH;lc-bfEH;break;case EH:(*T)-bflc-bfEH;break;case RH:(*T)-bfEH;lc-bfLH;}rd-bfEH;L_Rotate((*T)-lchild); // 对*T的左子树作左旋平衡处理R_Rotate(T); // 对*T作右旋平衡处理}}// 对以指针T所指结点为根的二叉树作右平衡旋转处理本算法结束时// 指针T指向新的根结点void RightBalance(BSTree *T){BSTree rc,rd;rc(*T)-rchild; // rc指向*T的右子树根结点switch(rc-bf){ // 检查*T的右子树的平衡度并作相应平衡处理case RH: // 新结点插入在*T的右孩子的右子树上要作单左旋处理(*T)-bfrc-bfEH;L_Rotate(T);break;case LH: // 新结点插入在*T的右孩子的左子树上要作双旋处理rdrc-lchild; // rd指向*T的右孩子的左子树根switch(rd-bf){ // 修改*T及其右孩子的平衡因子case RH: (*T)-bfLH;rc-bfEH;break;case EH: (*T)-bfrc-bfEH;break;case LH: (*T)-bfEH;rc-bfRH;}rd-bfEH;R_Rotate((*T)-rchild); // 对*T的右子树作右旋平衡处理L_Rotate(T); // 对*T作左旋平衡处理}}// 若在平衡的二叉排序树T中不存在和e有相同关键字的结点则插入一个// 数据元素为e的新结点并返回1否则返回0。若因插入而使二叉排序树// 失去平衡则作平衡旋转处理布尔变量taller反映T长高与否。int InsertAVL(BSTree *T,ElemType e,int *taller){if(!*T){ // 插入新结点树“长高”置taller为1*T(BSTree)malloc(sizeof(BSTNode));(*T)-datae;(*T)-lchild(*T)-rchildNULL;(*T)-bfEH;*taller1;}else{if(e.key (*T)-data.key){ // 树中已存在和e有相同关键字的结点则不再插入*taller0;return 0;}if(e.key (*T)-data.key){ // 应继续在*T的左子树中进行搜索if(!InsertAVL((*T)-lchild,e,taller)) // 未插入return 0;if(*taller)// 已插入到*T的左子树中且左子树“长高”switch((*T)-bf) // 检查*T的平衡度{case LH:// 原本左子树比右子树高需要作左平衡处理LeftBalance(T);*taller0; //标志没长高break;case EH:// 原本左、右子树等高现因左子树增高而使树增高(*T)-bfLH;*taller1; //标志长高break;case RH:// 原本右子树比左子树高现左、右子树等高(*T)-bfEH;*taller0; //标志没长高}}else{// 应继续在*T的右子树中进行搜索if(!InsertAVL((*T)-rchild,e,taller)) // 未插入return 0;if(*taller) // 已插入到T的右子树且右子树“长高”switch((*T)-bf) // 检查T的平衡度{case LH:(*T)-bfEH; // 原本左子树比右子树高现左、右子树等高*taller0;break;case EH: // 原本左、右子树等高现因右子树增高而使树增高(*T)-bfRH;*taller1;break;case RH: // 原本右子树比左子树高需要作右平衡处理RightBalance(T);*taller0;}}}return 1;}// 按关键字的顺序对DT的每个结点调用函数Visit()一次void TraverseDSTable(BSTree DT,void(*Visit)(ElemType)){if(DT){TraverseDSTable(DT-lchild,Visit); // 先中序遍历左子树Visit(DT-data); // 再访问根结点TraverseDSTable(DT-rchild,Visit); // 最后中序遍历右子树}}void print(ElemType c){printf((%d,%d),c.key,c.order);}int main(){BSTree dt,p;int k;int i;KeyType j;ElemType r[N]{{13,1},{24,2},{37,3},{90,4},{53,5}}; // (以教科书P234图9.12为例)InitDSTable(dt); // 初始化空树for(i0;iInsertAVL(dt,r[i],k); // 建平衡二叉树TraverseDSTable(dt,print); // 按关键字顺序遍历二叉树printf(\n请输入待查找的关键字: );scanf(%d,j);pSearchBST(dt,j); // 查找给定关键字的记录if(p)print(p-data);elseprintf(表中不存在此值);printf(\n);DestroyDSTable(dt);system(pause);return 0;}/*输出效果(13,1)(24,2)(37,3)(53,5)(90,4)请输入待查找的关键字: 53(53,5)请按任意键继续. . .*/运行结果如下感谢阅读希望能帮助到大家谢谢大家对本站的支持
http://www.zqtcl.cn/news/981230/

相关文章:

  • 海兴网站建设公司网站建设原则
  • 网站建设完不管了自己怎么接手wordpress个人主页
  • 具有品牌的网站建设霞浦建设局网站
  • 推荐个网站免费的wordpress force ssl
  • app网站搭建做英文网站的心得
  • 东莞企业网站制作推广运营多样化的网站建设公司
  • 深圳做网站那里好提交网址给百度
  • 泰州企业建站系统中企动力科技做什么的
  • 唐山公司网站建设 中企动力唐山宽带动态ip如何做网站访问
  • 个人商城网站怎么做电商网站及企业微信订烟
  • 温州市网站优化广告平面设计教程
  • 南通制作网站的有哪些公司吗sae 部署wordpress
  • 友情链接对网站的影响wordpress admin init
  • 渭南网站开发做网红用哪个网站
  • 湖北建设网站wordpress 翻页电子书
  • 网站设计命名规范厦门建站比较好的公司
  • 用vs2010做网站登入前端培训费用大概多少郑州
  • 网站建设后的效果评估杭州网站制作公司
  • 3网站建设公司影楼修图用什么软件
  • 手机网站的内容模块多用户商城开源左
  • 库尔勒网站建站宝盒合作
  • 五河网站建设哪家好wordpress获取文章作者
  • 怎么修改网站内容wordpress ajax接口
  • 绵阳市城乡建设和规划局网站重庆网站建设公司有哪些
  • 宿迁网站建设公司排名展厅设计企业
  • 做家具定制的设计网站开阿里巴巴网站建设流程
  • 站长统计软件广州免费核酸在哪里做
  • 做soho一定要做网站吗在百度网站备案查询上显示未备案是什么意思
  • 移动公司营销网站设计html旅游网站模板
  • 专业生产车间设计图纸网站ui设计师证