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

net网站开发 介绍幸运28网站代理怎么做

net网站开发 介绍,幸运28网站代理怎么做,vr模式的网站建设公司,营销策划方案书目录 资源已上传 实现代码 测试代码 资源已上传 部分图片 实现代码 注意判断是否为红黑树的代码实现#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.w-s-a.com/news/710336/

相关文章:

  • 怎么建立一个网站开展业务网站建设人员的工资分配
  • 求职网站建设方案企业网站开发需求分析
  • 西安企业网站开发可以做哪些有趣的网站
  • 房产类网站开发云南百度建站
  • 泰州网站建设电话彩票网站怎么做代理
  • 泉州网站制作推广山西网站开发建设
  • 百度商桥怎样绑定网站百度推广登陆
  • 重庆网站建设论坛株洲论坛
  • 网站怎么做切换中英文济南广运建设公司网站
  • 网页游戏网站搭建免费建网站哪个模板多
  • 公司起名打分最准的免费网站直播网站app开发
  • 医疗器械类网站前置审批网站临时域名
  • 金融网站策划方案网站开发表格整体页面居中
  • 句容本地网站黄石下陆区建设局网站
  • 免费网站服务陕西省咸阳市建设银行网站
  • 网站建设活动计划做网站意义
  • 莱芜新闻主持人名单seo sem 外贸建站 网站建设 文化墙设计
  • 易语言可以做网站嘛赣州网站建设开发
  • 网站建设规范布局网站建设费往什么科目
  • 乐清手机网站设计哪个汽车网站汽贸店免费做
  • 网站建设课程总结报告推广软文
  • 企业网站哪里可以做烟台seo网站推广
  • 怎样建设网站优化珠海网站建设开发
  • 泰兴住房和城乡建设厅网站福州app开发
  • 免费制作公司网站seo前线
  • 导购网站怎么推广有网站源码怎么搭建网站
  • 网站开发问题杭州制作公司网站
  • 网站推广seo是什么wordpress 去除顶部
  • 建筑学不会画画影响大吗电子商务沙盘seo关键词
  • 重庆网站建设找承越上海建设工程招投标网