这篇教程C++ AddNode函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中AddNode函数的典型用法代码示例。如果您正苦于以下问题:C++ AddNode函数的具体用法?C++ AddNode怎么用?C++ AddNode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了AddNode函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DataNode& DataNode::operator[](const WString& nodePath) { if (auto node = GetNode(nodePath)) return *node; return *AddNode(nodePath); }
开发者ID:zenkovich,项目名称:o2,代码行数:7,
示例2: AddNodevoid dgBroadPhaseDefault::LinkAggregate(dgBroadPhaseAggregate* const aggregate){ AddNode(aggregate); aggregate->m_broadPhase = this; aggregate->m_updateNode = m_updateList.Append(aggregate); aggregate->m_myAggregateNode = m_aggregateList.Append(aggregate);}
开发者ID:leegoonz,项目名称:newton-dynamics,代码行数:7,
示例3: AddItem//添加元素,即节点BOOL AddItem(const Item * pi,Tree * ptree){ Node * new_node;//新节点 if(TreeIsFull(ptree))//判断树是否已满 { fprintf(stderr,"Tree is full./n"); return FALSE; } if(SeekItem(pi,ptree).child != NULL)//在树中查找目标项目 { fprintf(stderr,"Attempted to add duplicate item/n"); return FALSE; } new_node = MakeNode(pi);//创建新节点,成功返回新节点,否则返回NULL if(new_node == NULL)//创建失败,返回false { fprintf(stderr,"Couldn't create node!/n"); return FALSE; } //节点创建成功,向树中添加节点 ptree->size++;//树的大小加1 if(ptree->root == NULL)//如果树为空 { ptree->root = new_node; } else { AddNode(new_node,ptree->root);//找到新节点应该添加到的位置 } return TRUE;}
开发者ID:18616378431,项目名称:myCode,代码行数:33,
示例4: ReadTransforms/*----------------------------------------------------------------------------- * ReadTransforms * Read a set of transforms from a string and transfer it into a file *-----------------------------------------------------------------------------*/void ReadTransforms(char* buf, TransformList *list){ char type = ' '; char axis = ' '; int value = 0; char* p = buf; /* Read the buffer */ while(p != NULL) { /* Read the contents of the buffer */ sscanf(p, "%c%c %d", &type, &axis, &value); /* Define a new Transform */ Transform* t; if((t = malloc(sizeof(Transform))) == NULL) { perror("2D"); exit(EXIT_FAILURE); } t->type = type; t->axis = axis; t->value = value; /* Add it to the list */ AddNode(list, t); /* Scan for the next item */ p = strstr(p, ","); if(p != NULL) p += 1; }}
开发者ID:Aretnorp,项目名称:cs-2010f,代码行数:36,
示例5: AddNodevoid CZQCustomClient::SendBuffer(pBlock block){ AddNode(block); if (!m_IsSending) ReadySendNextData(&m_SendData, 0);}
开发者ID:mikesimb,项目名称:Lander,代码行数:7,
示例6: whileint CLocalNav::FindDirectPath(Vector &vecStepStart, Vector &vecDest, float flTargetRadius, BOOL fNoMonsters){ Vector vecActualDest; Vector vecPathDir; Vector vecNodeLoc; int nindexLast; vecPathDir = (vecDest - vecStepStart).Normalize(); vecActualDest = vecDest - (vecPathDir * flTargetRadius); if (PathTraversable(vecStepStart, vecActualDest, fNoMonsters) == TRAVERSABLE_NO) return -1; nindexLast = -1; vecNodeLoc = vecStepStart; m_nindexAvailableNode = 0; while ((vecNodeLoc - vecActualDest).Length2D() >= HOSTAGE_STEPSIZE) { vecNodeLoc = vecNodeLoc + (vecPathDir * HOSTAGE_STEPSIZE); nindexLast = AddNode(nindexLast, vecNodeLoc, 0, 0, 0); if (nindexLast == -1) break; } return nindexLast;}
开发者ID:DeadlyGamer,项目名称:cs16nd,代码行数:28,
示例7: Nodevoid List::InsertAfter(void* iterPtr, void* objectPtr){ Node* node = new Node(); node->m_Ptr = objectPtr; AddNode(node, (Node*)iterPtr, ((Node*)iterPtr)->m_NextNode);}
开发者ID:YoungHaKim,项目名称:MyList,代码行数:7,
示例8: AddNodevoid IntersectionNodesInAirport::AddNodes( const std::vector<IntersectionNode> newNodes ){ for(int i=0;i <(int)newNodes.size();i++) { AddNode(newNodes[i]); }}
开发者ID:chenbk85,项目名称:tphProjects,代码行数:7,
示例9: CG2NodeCNeighbour* CNeighboursConnections::OnAccept(CNetworkConnection* pConn){ // TODO: Make new CNeighbour deriviate for handshaking with Gnutella clients systemLog.postLog(LogSeverity::Debug, "CNeighbours::OnAccept"); //qDebug() << "CNeighbours::OnAccept"; if(!m_bActive) { pConn->Close(); return 0; } if(!m_pSection.tryLock(50)) { systemLog.postLog(LogSeverity::Debug, "Not accepting incoming connection. Neighbours overloaded"); pConn->Close(); return 0; } CG2Node* pNew = new CG2Node(); pNew->AttachTo(pConn); AddNode(pNew); pNew->moveToThread(&NetworkThread); m_pSection.unlock(); return pNew;}
开发者ID:aboduo,项目名称:quazaa,代码行数:29,
示例10: mainint main(){ char ch[10],num[5]; LinkList head; head=CreatList(); printlist(head); printf(" Delete node (y/n):"); scanf("%s",num); if(strcmp(num,"y")==0||strcmp(num,"Y")==0) { printf("Please input Delete_data:"); scanf("%s",ch); DeleteList(head,ch); printlist(head); } printf("Add node ? (y/n): "); scanf("%s",ch); if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { head=AddNode(head); } printlist(head); system("pause"); DeleteAll(head);}
开发者ID:homesangsang,项目名称:datastruct,代码行数:25,
示例11: m_lrudSceneGraph::dSceneGraph(const dSceneGraph& me) :dTree<dGraphNode, unsigned>(), m_lru (0){ // add all nodes from me, Iterator iter (me); for (iter.Begin(); iter; iter ++) { dGraphNode& srcNode = iter.GetNode()->GetInfo(); AddNode (srcNode.m_nodeInfo, NULL); } //now connect all edges for (iter.Begin(); iter; iter ++) { dGraphNode& srcNode = iter.GetNode()->GetInfo(); dGraphNode& myNode = Find(srcNode.m_nodeInfo->GetUniqueID())->GetInfo(); for (dGraphNode::dLink::dListNode* srcEdge = srcNode.m_children.GetFirst(); srcEdge; srcEdge = srcEdge->GetNext()) { dGraphNode& srcLinkNode = srcEdge->GetInfo()->GetInfo(); dTreeNode* myLinkNode = Find(srcLinkNode.m_nodeInfo->GetUniqueID()); //myNode.m_children.Append(srcEdge->GetInfo()); myNode.m_children.Append(myLinkNode); } for (dGraphNode::dLink::dListNode* srcEdge = srcNode.m_parents.GetFirst(); srcEdge; srcEdge = srcEdge->GetNext()) { dGraphNode& srcLinkNode = srcEdge->GetInfo()->GetInfo(); dTreeNode* myLinkNode = Find(srcLinkNode.m_nodeInfo->GetUniqueID()); //myNode.m_parents.Append(srcEdge->GetInfo()); myNode.m_parents.Append(myLinkNode); } } m_rootNode = Find(me.GetRootNode()->GetInfo().GetNode()->GetUniqueID());}
开发者ID:ak4hige,项目名称:myway3d,代码行数:32,
示例12: InitTireTreeint InitTireTree(trie_tree_t* pttt, const char* str_table[], int size){ if (!pttt) { return -1; } trie_node_t* root = &pttt->root; memset(root->childs, 0, sizeof(root->childs)); int i; for (i = 0; i < size; ++i) { trie_node_t* pn = root; const char *one = str_table[i]; int len = strlen(one); int j; for (j = 0; j < len; ++j) { int ch = char_map(one[j]); if (!pn->childs[ch]) { (void)AddNode(pn, ch); } pn = pn->childs[ch]; } pn->end = 1; } return 0;}
开发者ID:zgww,项目名称:dir_sync,代码行数:30,
示例13: whilevoid CTreeBuilder::ReadConfig(){ int depth = 0; CTreeNode* pParentNode = NULL; CTreeNode* pCurrentNode = NULL; CTreeNode* pSiblings = NULL; string xmlLine; ifstream infile; infile.open (m_sFileName.c_str(), ifstream::in); while(infile.good()) { string test; getline(infile,xmlLine); if ( !xmlLine.empty()) { NodeDetails nodeDetails; string nodeName = "", nodeText = ""; ValidateTag(xmlLine, nodeDetails); pCurrentNode = AddNode(pCurrentNode, nodeDetails); } } infile.close();}
开发者ID:5dollartools,项目名称:CFGHelper,代码行数:26,
示例14: AddNodevoid MGADSMTrajectory::AddNodes(const std::vector<TrajectoryNodePtr>& nodes){ for (std::size_t i = 0; i < nodes.size(); ++i) { AddNode(nodes[i]); }}
开发者ID:Jmbryan,项目名称:OTL,代码行数:7,
示例15: DepCompAstRefDAG DepCompAstRefDAG(const DepCompAstRefAnal& stmtorder, const DepCompAstRefGraphCreate* g) { DoublyLinkedListWrap <DepCompAstRefGraphNode*> nodelist; DepCompAstRefGraphCreate::NodeIterator nodes = g->GetNodeIterator(); for ( ; !nodes.ReachEnd(); nodes.Advance()) { DepCompAstRefGraphNode* n = nodes.Current(); AddNode(n); nodelist.AppendLast(n); } if (nodelist.size() <= 1) return; for (nodes.Reset(); !nodes.ReachEnd(); nodes.Advance()) { DepCompAstRefGraphNode* n = *nodes; DepCompAstRef& info = n->GetInfo(); for (DepInfoEdgeIterator edges = g->GetNodeEdgeIterator(n, GraphAccess::EdgeOut); !edges.ReachEnd(); ++edges) { DepInfoEdge* e = *edges; DepCompAstRefGraphNode* n1 = g->GetEdgeEndPoint(e, GraphAccess::EdgeIn); DepCompAstRef& info1 = n1->GetInfo(); int c = stmtorder.CompareAstRef(info,info1); if (c < 0) { AddEdge(n, n1, e); } else if (c > 0) { AddEdge(n1,n,e); } } } if (DebugRefFuse()) { std::cerr << GraphToString(*this) << std::endl; } }
开发者ID:InstRO,项目名称:InstRO-ROSE,代码行数:32,
示例16: AddNodevoid Snake::Clear(void){ SnakeNode.clear(); length = 0; AddNode(25, 25); director = 1;}
开发者ID:hhh920406,项目名称:QTsnake,代码行数:7,
示例17: PopulateNodesstatic void PopulateNodes(){ WUTIL_FUNC(pGetNumaNodeProcessorMask, BOOL, (UCHAR, PULONGLONG)); WUTIL_IMPORT_KERNEL32(GetNumaNodeProcessorMask, pGetNumaNodeProcessorMask); if(!pGetNumaNodeProcessorMask) return; DWORD_PTR processAffinity, systemAffinity; { const BOOL ok = GetProcessAffinityMask(GetCurrentProcess(), &processAffinity, &systemAffinity); WARN_IF_FALSE(ok); } ENSURE(PopulationCount(processAffinity) <= PopulationCount(systemAffinity)); for(UCHAR nodeNumber = 0; nodeNumber <= HighestNodeNumber(); nodeNumber++) { ULONGLONG affinity; { const BOOL ok = pGetNumaNodeProcessorMask(nodeNumber, &affinity); WARN_IF_FALSE(ok); } if(!affinity) continue; // empty node, skip Node* node = AddNode(); node->nodeNumber = nodeNumber; node->processorMask = wcpu_ProcessorMaskFromAffinity(processAffinity, (DWORD_PTR)affinity); }}
开发者ID:righnatios,项目名称:0ad,代码行数:29,
示例18: InitTopologystatic Status InitTopology(){ PopulateNodes();#if ARCH_X86_X64 const SRAT* srat = (const SRAT*)acpi_GetTable("SRAT"); if(srat && AreApicIdsReliable()) { const ProximityDomains proximityDomains = ExtractProximityDomainsFromSRAT(srat); PopulateNodesFromProximityDomains(proximityDomains); }#endif // neither OS nor ACPI information is available if(numNodes == 0) { // add dummy node that contains all system processors Node* node = AddNode(); node->nodeNumber = 0; node->proximityDomainNumber = 0; node->processorMask = os_cpu_ProcessorMask(); } return INFO::OK;}
开发者ID:righnatios,项目名称:0ad,代码行数:25,
示例19: AddNodevoid CFrontendDlg::AddHna(unsigned int NetAddr, unsigned int NetMask, unsigned int NodeAddr, unsigned int VTime){ class NodeEntry NewEntry; POSITION Pos; unsigned __int64 Timeout; Timeout = Now + (unsigned __int64)VTimeToInt(VTime) * (unsigned __int64)10000000; AddNode(NodeAddr, VTime); NewEntry.Addr = NodeAddr; Pos = NodeList.Find(NewEntry); if (Pos == NULL) return; class NodeEntry &OldEntry = NodeList.GetAt(Pos); OldEntry.AddHna(NetAddr, NetMask, Timeout); m_TabCtrl.m_Dialog3.UpdateNodeInfo(NodeList);}
开发者ID:fatielmahdi,项目名称:olsr,代码行数:25,
示例20: AddASCII//向writer中添加s对应的ASCII码void AddASCII(List writer, LPSTR s){ int i,len=(int)strlen(s); for(i=0;i<len;i++){ AddNode(writer,(void*)s[i]); }}
开发者ID:lzl124631x,项目名称:pdf_manager,代码行数:8,
示例21: SimplePlayListElementbool PlaylistPicker::AddToList( const char* name, int weight ){ bool addedSuccesfully; PLDoubleLinkedListNode<SimplePlayListElement>* node; SimplePlayListElement* element; node = NULL; addedSuccesfully = false; element = new SimplePlayListElement(name); if (mFirstElement == NULL) mFirstElement = element->mElementName; Assert( element ); if ( element ) { element->mElementWeight = weight; node = new PLDoubleLinkedListNode<SimplePlayListElement>(element); Assert( node ); } if ( node ) addedSuccesfully = AddNode(node); return addedSuccesfully;}
开发者ID:ACEZLY,项目名称:EasyDarwin,代码行数:29,
示例22: CalcProbabilitydouble CalcProbability(extmanager MyManager, DdNode *Current) { DdNode *h, *l; hisnode *Found; char *curnode; double lvalue, hvalue, tvalue; if (params.debug) { curnode = GetNodeVarNameDisp(MyManager.manager, MyManager.varmap, Current); fprintf(stderr, "%s/n", curnode); } if (Current == MyManager.t) return 1.0; if (Current == MyManager.f) return 0.0; if ((Found = GetNode(MyManager.his, MyManager.varmap.varstart, Current)) != NULL) return Found->dvalue; l = LowNodeOf(MyManager.manager, Current); h = HighNodeOf(MyManager.manager, Current); if (params.debug) fprintf(stderr, "l(%s)->", curnode); lvalue = CalcProbability(MyManager, l); if (params.debug) fprintf(stderr, "h(%s)->", curnode); hvalue = CalcProbability(MyManager, h); tvalue = MyManager.varmap.dvalue[GetIndex(Current) - MyManager.varmap.varstart]; tvalue = tvalue * hvalue + lvalue * (1.0 - tvalue); AddNode(MyManager.his, MyManager.varmap.varstart, Current, tvalue, 0, NULL); return tvalue;}
开发者ID:gokhansolak,项目名称:yap-6.3,代码行数:30,
示例23: AddNodevoid Cvfgk::Reset() { char Dict[]={'A','C','G','T','N','/n','M','S','H','D','I', 'W','P','V','Y','F','L','K','R','Q','E','B', 'Z','X',' ','>','0','1','2','3','4','5','6','7','8','9', '-','_','+','/t','@','#',',','.','"','(',')','[',']', ctChangeLettersMode}; //char Dict[]={'A','C','G','T','N','/n',ctChangeLettersMode}; for(int i=0;i<2*ctAlphabetSize;i++){ child[i]=weight[i]=parent[i]=0; } root = 1; iNextNode = 2; for(int i=0;i<ctAlphabetSize;i++) leaf[i] = 0; child[root] = 0; weight[root] = 1; parent[root] = 0; leaf[ctZeroNode] = root; iStackPtr = 0; nBits = 0;// if(fByteOut!=NULL) fclose(fByteOut); fByteOut = NULL; iBytesWritten = 0; // start adding the characters with high probability for(int i=0;i<sizeof(Dict);i++){ AddNode(Dict[i]); Update(Dict[i]); } // increase p for nucleotides for(int i=0;i<5;i++) Update(Dict[i]); // By default its starts with capital letters fCapitalLetters = true;}
开发者ID:WenchaoLin,项目名称:JAMg,代码行数:32,
示例24: vtNodeType/* Function name : CXML::CreateCommentNode Description : This helper function creates a comment for the node supplied as argumnet Return type : bool Argument : IXMLDOMNode **pParentNode Argument : CString csComment*/bool CXML::CreateCommentNode(IXMLDOMNode **ppParentNode,CString &rcsComment){ if(rcsComment.IsEmpty()) return false; if(!(*ppParentNode)) return false; IXMLDOMNode * pNode = NULL; _variant_t vtNodeType((long)VT_I4,NODE_COMMENT); _bstr_t bstrNameSpace(""); m_hr = m_pXMLDoc->createNode(vtNodeType,bstrNameSpace,bstrNameSpace,&pNode); if(!SUCCEEDED(m_hr)) return false; _variant_t vtComment(rcsComment); m_hr = pNode->put_nodeValue(vtComment); if(!SUCCEEDED(m_hr)) { pNode->Release(); return false; } IXMLDOMNode * pINewNode = NULL; bool bRet = AddNode(&m_pICurrentNode,&pNode,&pINewNode,NODE_COMMENT); if(pNode) pNode->Release(); if(pINewNode) pINewNode->Release(); return bRet;}
开发者ID:alexcpn,项目名称:TelephonyIVRKeyMapDemo,代码行数:41,
|