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

北京网站优化服务商个人如何推广app

北京网站优化服务商,个人如何推广app,网页视频怎么下载到u盘上,安庆网络推广公司目录 资源已上传 实现代码 测试代码 资源已上传 部分图片 实现代码 注意判断是否为红黑树的代码实现#xff0c;实现代码中红黑树的删除 #pragma once #includeiostream using namespace std;enum Color_Type {Red,Black };templateclass K,class V str…目录 资源已上传 实现代码 测试代码 资源已上传 部分图片 实现代码 注意判断是否为红黑树的代码实现实现代码中红黑树的删除 #pragma once #includeiostream using namespace std;enum Color_Type {Red,Black };templateclass K,class V struct RBTreeNode {pairK, V _kv;RBTreeNode* _parent;RBTreeNode* _left;RBTreeNode* _right;Color_Type _color;RBTreeNode(const pairK, V kv): _kv(kv), _parent(nullptr), _left(nullptr), _right(nullptr), _color(Red){}};templateclass K, class V class RBTree {typedef RBTreeNodeK, V Node; private:Node* _root; public:RBTree():_root(nullptr){}bool Insert(const pairK, V kv){if (_root nullptr){_root new Node(kv);_root-_color Black;return true;}Node* cur _root;//指向当前节点的位置Node* parent nullptr;//当前节点的父节点//找到插入位置while (cur){if (cur-_kv.first kv.first) {parent cur;cur cur-_right;}else if (cur-_kv.first kv.first) {parent cur;cur cur-_left;}else {return false;}}cur new Node(kv);cur-_color Red;if (cur-_kv.first parent-_kv.first) {parent-_left cur;cur-_parent parent;}else{parent-_right cur;cur-_parent parent;}//父节点为红色插入后还需做调整while (parent parent-_color Red){Node* grandfather parent-_parent;if (parent grandfather-_left){Node* uncle grandfather-_right;if (uncle uncle-_color Red){// 变色parent-_color uncle-_color Black;grandfather-_color Red;// 继续向上处理cur grandfather;parent cur-_parent;}else//uncle不存在或uncle为黑{if (cur parent-_left){// g// p//crotateR(grandfather);parent-_color Black;grandfather-_color Red;}else{// g//p // crotateL(parent);rotateR(grandfather);cur-_color Black;grandfather-_color Red;}break;}}else{Node* uncle grandfather-_left;// u存在且为红if (uncle uncle-_color Red){// 变色parent-_color uncle-_color Black;grandfather-_color Red;// 继续向上处理cur grandfather;parent cur-_parent;}else{if (cur parent-_right){// g// p// crotateL(grandfather);grandfather-_color Red;parent-_color Black;}else{// g// p// crotateR(parent);rotateL(grandfather);cur-_color Black;grandfather-_color Red;}break;}}}_root-_color Black;return true;}bool IsBalance(){return _IsBalance(_root);}int Height(){return _Height(_root);}bool checkColor(Node* root, int blacknum, int basenum){if (root nullptr){if (blacknum ! basenum){return false;}return true;}if (root-_color Black){blacknum;}if (root-_parent root-_parent-_color Red root-_color Red){cout root-_kv.first 出现连续红色节点 endl;return false;}return checkColor(root-_left, blacknum, basenum) checkColor(root-_right, blacknum, basenum);} private:void rotateL(Node* parent){Node* subR parent-_right;Node* subRL subR-_left;Node* pparent parent-_parent;//1.建立subRL与parent之间的关系//左子树滑动parent-_right subRL;if (subRL) {subRL-_parent parent;}//2.建立subR和parent之间的关系//更新右子树的左子树subR-_left parent;parent-_parent subR;//3.建立pparent和subR之间的关系//与上一个节点建立连接if (parent _root){_root subR;subR-_parent nullptr;}else{subR-_parent pparent;if (parent pparent-_left) {pparent-_left subR;}else {pparent-_right subR;}}}void rotateR(Node* parent){Node* subL parent-_left;Node* subLR subL-_right;Node* pparent parent-_parent;//滑动parent-_left subLR;if (subLR) {subLR-_parent parent;}//更新左子树的右子树subL-_right parent;parent-_parent subL;if (parent _root) {_root subL;subL-_parent nullptr;}else {subL-_parent pparent;if (parent pparent-_left) {pparent-_left subL;}else {pparent-_right subL;}}}int _Height(Node* root){if (!root) {return 0;}int left _Height(root-_left);int right _Height(root-_right);return left right ? left 1 : right 1;}bool _IsBalance(Node* root){if (root nullptr){return true;}if (root-_color ! Black){return false;}int basenum 0;Node* cur _root;while (cur){if (cur-_color Black) {basenum;}cur cur-_left;}return checkColor(root, 0, basenum);}}; 测试代码 #include RB_tree.h #includevectorint main() {const int N 10;vectorint v;v.reserve(N);srand(time(0));for (size_t i 0; i N; i){v.push_back(i);}for (auto i : v){cout i ;}cout endl;RBTreeint, int rbt;for (auto e : v){rbt.Insert(make_pair(e, e));cout Insert: e endl;}cout rbt.Height() endl;if (rbt.IsBalance()){cout ok endl;}return 0; }
http://www.hkea.cn/news/14541235/

相关文章:

  • 保险网站建设公司深圳网站建设制作哪家口碑好
  • 游戏平台网站制作用毛做简单的网站
  • wps免费模板网站山西省建设工程信息网站
  • 网站建设的工作流程规划设计公司网站
  • 织梦婚纱网站模板凡客诚品失败的主要原因
  • 潍坊网站建设公司哪家好哈尔滨市住房和城乡建设局局网站
  • 谁有做任务网站wordpress 背景特效
  • 莱芜网站同城分类信息网站
  • 临桂建设局网站郑州做网站推广价格
  • 网站建设选哪个外贸网站建设要求
  • 手机网站建设推广软文营业执照 网站开发
  • 瑞安联科网站建设下载ps软件免费版2022
  • 在线培训网站怎么做wordpress分享文章插件
  • html5网站特点昆明网络营销
  • 做寂网站设计类专业电脑推荐
  • 外贸网站设计与推广wordpress顶部栏
  • 360做网站荆州西宁做网站的好公司
  • ps和dw怎么做网站室内设计主要是干什么的
  • 网站设计模板下载ps怎么制作网页效果图
  • 中国建设银行企业网站做招聘网站做服务器多少钱
  • 商城网站设计需要哪些技术广东省做网站推广公司
  • 成都网站建设哪家免费vps试用一年
  • 企业网站需要多大空间uc浏览器关键词排名优化
  • 建站快车品牌上海娱乐场所恢复营业最新通知
  • 个人如何制作一个网站wordpress 爬虫
  • 做网站美工工资多少钱简单的网站维护
  • 网站建设上qq图标去除网页设计制作课程表
  • 昆明seo公司网站看一个网站是用什么语言做的
  • 网站开发软件技术开发公司工程造价信息网官网登录入口
  • 重庆h5网站建设模板网站后台 js框架