这篇教程C++ updateTree函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中updateTree函数的典型用法代码示例。如果您正苦于以下问题:C++ updateTree函数的具体用法?C++ updateTree怎么用?C++ updateTree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了updateTree函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: updateTreevoid updateTree(forTree *var, char *str, int level){ if(strcmp(var->str, str)>0){ if(var->left!=NULL){ updateTree(var->left, str, level); } else{ var->left = (forTree *)malloc(sizeof(forTree)); var->level=level; char *temp = (char *) malloc(sizeof(char)*strlen(str)); strcpy(temp,str); var->str = temp; return; } } else if(strcmp(var->str, str)<0){ if(var->right!=NULL){ updateTree(var->right, str, level); } else{ var->right = (forTree *)malloc(sizeof(forTree)); var->level = level; char *temp = (char *) malloc(sizeof(char)*strlen(str)); strcpy(temp,str); var->str = temp; return; } } else{ var->str = str; var->level = level; return; }}
开发者ID:tirupatihemanth,项目名称:sem5,代码行数:35,
示例2: updateTreevoid updateTree(int x, int l, int r, int v){ if(node[x].l == l && node[x].r == r) { node[x].sum += v * nodeLength(x); node[x].update += v; } else { updateTreeNode(x); int mid = midium(node[x].l, node[x].r); if(r <= mid) { updateTree(left(x), l, r, v); } else if(l > mid) { updateTree(right(x), l, r, v); } else { updateTree(left(x), l, mid, v); updateTree(right(x), mid + 1, r, v); } node[x].sum = node[left(x)].sum + node[right(x)].sum; }}
开发者ID:GenguoWang,项目名称:ZCookie,代码行数:27,
示例3: updateTreevoid updateTree(SegTreeNode* root, int i, int val) { if (root->start == root->end) { root->sum = val; } else { int mid = root->start + (root->end - root->start) / 2; if (i <= mid) { updateTree(root->left, i, val); } else { updateTree(root->right, i, val); } root->sum = root->left->sum + root->right->sum; }}
开发者ID:zeplios,项目名称:leetcode,代码行数:13,
示例4: updateTree void updateTree(int treeIndex, int lo, int hi, int arrIndex, int val) { if (lo == hi) { tree[treeIndex] = val; return; } int mid = lo + (hi-lo)/2; if (arrIndex > mid) updateTree(2*treeIndex+2, mid+1, hi, arrIndex, val); else if (arrIndex<=mid) updateTree(2*treeIndex+1, lo, mid, arrIndex, val); tree[treeIndex] = tree[2*treeIndex+1] + tree[2*treeIndex+2]; }
开发者ID:pradeep1288,项目名称:leetcode,代码行数:15,
示例5: mainint main() { int n, q; geti(n, q); for(int i = 1; i < n; i++) { int u, v; geti(u, v); u--; v--; adj[u].pb(v); adj[v].pb(u); } init(n); dfs(0, -1); HLD(0, -1); while(q--) { int type, x; geti(type, x); x--; if(type == 0) { updateTree(x); } else { printf("%d/n", queryTree(x)); } }}
开发者ID:Jhuni0123,项目名称:PSTeamNote,代码行数:26,
示例6: getStringValue//!//!//! /return True, if successful loading of ogre mesh//! False, otherwise.//!bool XmlTreeReaderNode::loadFile(){ QString filename = getStringValue("Source File"); if (filename == "") { Log::debug(QString("Source file has not been set yet. (/"%1/")").arg(m_name), "XmlTreeReaderNode::loadFile"); return false; } // check if the file exists if (!QFile::exists(filename)) { Log::error(QString("Source file /"%1/" not found.").arg(filename), "XmlTreeReaderNode::loadFile"); return false; } if (!filename.endsWith(".xml") && !filename.endsWith(".txt")) { Log::error("The source file has to be a csv or txt.", "XmlTreeReaderNode::loadFile"); return false; } // if any, delete previous file if (m_xmltree) m_xmltree->Delete(); // create and load new file m_xmltree = vtkXMLTreeReader::New(); m_xmltree->SetFileName(filename.toLatin1().constData()); m_xmltree->Update(); updateTree(); Log::info(QString("Source file /"%1/" loaded.").arg(filename), "XmlTreeReaderNode::loadFile"); // Log::info(QString("Number rows /"%1/" loaded: ").arg(m_Tree->GetNumberOfRows()), "XmlTreeReaderNode::loadFile"); return true;}
开发者ID:banduladh,项目名称:levelfour,代码行数:38,
示例7: mainint main(){ int n = 0; for(int i = 1; i < 11; ++ i) for(int j = 0; j < i; ++ j) cout[i][j] = n ++; while(~scanf("%d", &n)) { BuildTree(1, 1, n); for(int i = 1; i <= n; ++ i) scanf("%d", &ele[i]); int q; scanf("%d", &q); while(q--) { int t; scanf("%d", &t); if(t == 1) { int a, b, k, c; scanf("%d %d %d %d", &a, &b, &k, &c); updateTree(1, a, b, k, c, a % k); } else { int a; scanf("%d", &a); int ans = queryTree(1, a, 0); printf("%d/n", ele[a] + ans); } } } return 0;}
开发者ID:AntSworD,项目名称:ACM,代码行数:33,
示例8: GAME_Viewvoid manager::showTreeGame() { std::cout << "showTreeGame()" << std::endl;// std::string out = tree_.Print(); if (gameTreeView) { gameTreeView->raise(); gameTreeView->activateWindow(); return; } //create new window// std::string out = tree_.Print(); std::cout << "GTREE" << std::endl << tree_.Print() << std::endl << "END" << std::endl; gameTreeView = new GAME_View(tree_);// connect();// connect(); connect(this, SIGNAL(movePlayed()), gameTreeView, SLOT(updateTree())); connect(gameTreeView, SIGNAL(moveChanged()), this, SLOT(changeCurrent())); connect(gameTreeView, SIGNAL(finished(int)), this, SLOT(closeTreeGame())); gameTreeView->show();}
开发者ID:PawelTroka,项目名称:LogicalGamesEnginesGenerator,代码行数:25,
示例9: updateTreevoid GUIImport::on_lineEdit_Filename_textChanged(){ m->FileName = this->ui->lineEdit_Filename->text().toStdString(); this->m->init(); updateTree();}
开发者ID:abroxos,项目名称:DynaMind-ToolBox,代码行数:7,
示例10: mainint main(){ char op[5]; int a, b, c; while(~scanf("%d%d",&n,&m)) { for(int i=1;i<=n;++i) { scanf("%lld", &num[i]); } createTree(1, 1, n); while(m--) { scanf("%s", &op); switch(*op) { case 'Q': scanf("%d%d",&a,&b); printf("%lld/n", searchTree(1, a, b)); break; case 'C': scanf("%d%d%d",&a,&b,&c); updateTree(1, a, b, c); break; } } } return 0;}
开发者ID:GenguoWang,项目名称:ZCookie,代码行数:29,
示例11: updateTreevoid SquareTreeGraphicsScene::stopHighlighting(){ if (m_highlightedLine != 0) { m_highlightedLine->unhighlight(); m_highlightedLine = 0; updateTree(); if (g_settings->simulationShown) m_landscapeView->viewport()->update(); } m_selectionDot.reset(); if (g_mainWindow->m_historyOrganismWidget->m_organism != 0) { g_mainWindow->m_historyOrganismWidget->m_organism = 0; g_mainWindow->m_historyOrganismWidget->update(); } if (g_mainWindow->m_landscapeHistoryWidget->m_organismPositions != 0) { g_mainWindow->m_landscapeHistoryWidget->m_organismPositions = 0; g_mainWindow->m_landscapeHistoryWidget->update(); } m_selectionDate = -1; //indicates no selected date g_mainWindow->clearHistorySpecies();}
开发者ID:rrwick,项目名称:Bugraft,代码行数:29,
示例12: QDialogEditeurTache::EditeurTache(QWidget *parent) : QDialog(parent), ui(new Ui::EditeurTache){ ui->setupUi(this); this->setModal(true); ui->stackedWidget->setCurrentIndex(0); ui->dateEditDispo->setDate(QDate::currentDate()); ui->dateEditEch->setDate(QDate::currentDate()); ui->comboBoxProjet->addItem(" "); ui->comboBoxMere->addItem(" "); //boucle pour remplir la combobox proposant les projets for(QMap<QString, Projet*>::const_iterator it= ProjetManager::getInstance().getProjets().cbegin();it!=ProjetManager::getInstance().getProjets().cend(); it++){ if ((*it)->getDateEcheance()>=QDate::currentDate()) ui->comboBoxProjet->addItem((*it)->getNom()); } QObject::connect(ui->radioButtonUnit, SIGNAL(clicked(bool)),this,SLOT(showPropUnit(bool)));//affiche la partie demandant les prop des taches unitaire QObject::connect(ui->radioButtonComp, SIGNAL(clicked(bool)),this,SLOT(showPropComp(bool)));//affiche la partie demandant les prop des taches composites QObject::connect(ui->comboBoxProjet, SIGNAL(currentIndexChanged(QString)), this, SLOT(remplirComboMere(QString))); //affiche les t C++ updateUi函数代码示例 C++ updateTransform函数代码示例
|