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

公司商城网站开发费做什么科目做配资网站多少钱

公司商城网站开发费做什么科目,做配资网站多少钱,阿里云网站实名认证,网页设计素材收集教学设计目录 题目#xff1a; 示例#xff1a; 分析#xff1a; 代码#xff1a; 题目#xff1a; 示例#xff1a; 分析#xff1a; 这是一道程序设计类的题目#xff0c;题目比较长#xff0c;我稍微概括一下。 构造函数中给我们一个数组#xff0c;第i个元素表示第…目录 题目 示例 分析 代码 题目 示例 分析 这是一道程序设计类的题目题目比较长我稍微概括一下。 构造函数中给我们一个数组第i个元素表示第i个节点的父节点让我们以此数组来构造一棵树不是二叉树。 类中有三个成员函数第一个是上锁函数给我们一个节点值以及一个用户ID让我们对节点以用户的名义上锁前提是这个节点没上锁。 第二个是解锁函数给我们一个节点值和一个用户ID让我们把这个节点解锁前提是这个节点之前已经上锁并且是同一个用户ID上锁的。 第三个是升级函数给我们节点值和用户ID要我们把这个节点上锁并且把这个节点的所有子孙节点都解锁。前提是这个节点的祖先节点没有一个上锁的并且这个节点的子孙节点至少有一个上锁的。 我们来逐个击破首先是上锁函数我们只需要拿一个数组来存放上锁关系即可这个数组的第i个元素表示给节点i上锁的用户如果是-1则表示这个节点没有上锁。 解锁函数也类似我们只需要查看给节点上锁的用户是不是当前用户即可。 最后剩下升级函数一共是三个条件。 第一个是当前节点未上锁这个好办我们查询上诉关系数组就行。 第二个是查询子孙节点要求子孙节点至少有一个上锁要用到节点的父子关系了所以我们在构造函数的时候就构建出节点的父子关系拿一个map来存放每个节点的子节点就行。 寻找子孙节点的时候我们使用递归函数去查询我使用的是DFS找哪怕一个上锁的节点我们都返回true表示子孙节点有上锁的但是我们不是立即返回因为这个升级函数还要我们把上锁的子孙节点都解锁因此我们还需要接着往下寻找子孙节点遇到上锁的我们就解锁。 第三个条件是祖先节点没有上锁的由于每个节点只会有一个父节点因此我们不断向上去寻找祖先节点即可遇到上锁的就返回false。 最后三个条件都满足了我们再将这个节点以当前用户的名义上锁。 代码 class LockingTree { public:unordered_mapint,vectorintsons; //记录每个节点的子节点vectorintparent; //记录每个节点的父亲vectorintwhoLock; //记录每个节点的上锁情况LockingTree(vectorint parent):parent(parent),whoLock(vectorint(parent.size(),-1)) {//构建子节点的关系for(int i0;iparent.size();i){if(sons.find(parent[i])sons.end()) sons[parent[i]]vectorint(0);sons[parent[i]].push_back(i);}}bool lock(int num, int user) {//如果该节点已经上过锁那么不能上锁,反之可以并且修改上锁人if(whoLock[num]!-1) return false;whoLock[num]user;return true;}bool unlock(int num, int user) {//如果该节点没有被该用户上锁,那么不能解锁,反之解锁if(whoLock[num]!user) return false;whoLock[num]-1;return true;}//寻找某节点的父节点是否上锁bool find(int num){if(num-1) return true;if(whoLock[num]!-1) return false;return find(parent[num]);}//寻找子节点是否上锁,如果上锁,那么解锁bool unlockSon(int num){bool flagfalse;if(whoLock[num]!-1){flagtrue;whoLock[num]-1;} for(auto son:sons[num]){if(unlockSon(son)) flagtrue;}return flag;}bool upgrade(int num, int user) {//如果该节点已经锁上了那么不能上锁if(whoLock[num]!-1) return false;//如果有上锁的祖先节点那么不能上锁 if(!find(parent[num])) return false;//如果子孙节点没有一个上锁的,那么不能上锁if(!unlockSon(num)) return false;//一切没问题上锁whoLock[num]user;return true;} };
http://wiki.neutronadmin.com/news/178649/

相关文章:

  • 网站系统怎么建设在线制作logo模板
  • 如何做cad图纸模板下载网站wordpress栏目列表页
  • 便利的邯郸网站建设网站开发+协作平台
  • 肇庆市住房和城乡建设部网站网站建设地图素材
  • 微网站免费企业网站如何宣传
  • 和田地网站seo个性定制
  • 企业网站的设计策划怎么看网站是否备案成功
  • php 开源的企业网站潍坊昌乐县城乡建设局网站
  • 家具网站开发报告装修网站vr全景图怎么做
  • 英文网站名需要斜体吗动漫制作专业认知报告
  • 为什么公司的网站打不开网站如何申请微信支付接口
  • 网站导航提交入口大全西城做网站
  • 什么网站专做二手名表北京快速网站建设
  • 网站开发环境搭建网站建设高端培训
  • 拓者设计吧网站东莞建设网站的位置
  • seo网站设计招聘网站建设新零售
  • 山东济宁网站建设做视频广告在哪个网站能够赚钱
  • 网站注意事项国内重大新闻事件2024
  • soho的网站怎么做中轻成都设计院
  • 中医院网站素材新东阳建设集团网站
  • 河北省电力建设第二工程公司网站网站设计页面
  • 物流官方网站wordpress更换图片地址
  • 免费建立一个个人网站WordPress 聊天小工具
  • 网站做好怎么推广phpcms做的网站
  • 国际域名注册网站WordPress插件分享
  • 专业做外贸网站公司python 网站开发小项目
  • 徐州专业制作网站wordpress用什么空间 曹鹏
  • 移动微网站开发互联网服务平台投诉
  • 网站百度收录查询局政务网站建设管理工作总结
  • 做vlogger的网站有哪些海南省住房和城乡建设厅官网网站首页