当前位置: 首页>>代码示例>>C++>>正文


C++ ListNode::setNext方法代码示例

本文整理汇总了C++中ListNode::setNext方法的典型用法代码示例。如果您正苦于以下问题:C++ ListNode::setNext方法的具体用法?C++ ListNode::setNext怎么用?C++ ListNode::setNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ListNode的用法示例。


在下文中一共展示了ListNode::setNext方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: remove

void PtrListRep::remove(void* element)
{
    if(element!=NULL && _first!=NULL)
    {
        for(ListNode* n=_first; n!=NULL; n=n->getNext())
        {
            void* el = n->getElement();
            if(el==element)
            { // remove the node
                ListNode* prev = n->getPrevious();
                ListNode* next = n->getNext();

                if(prev!=NULL)
                    prev->setNext(next);
                else // the node is the very first
                    _first = next;

                if(next!=NULL)
                    next->setPrevious(prev);
                else // the node is the last
                    _last = prev;

                delete n;
                break;
            }
        }
    }
}
开发者ID:brunolauze,项目名称:pegasus,代码行数:28,代码来源:List.cpp

示例2: remove

bool List::remove(Object* const object)
{
	bool objectFound = false;

	ListNode* temp = this->first; 
	ListNode* prev = NULL;
	ListNode* next = NULL;

	while( temp != NULL ) {
		if (object == temp->getObject()) {
			next = temp->getNext();
			delete temp;
			if(next == NULL)
				last = NULL;
			if(prev == NULL)
				first = next;
			else
				prev->setNext(next);
			objectFound = true;
			break;
		}
		prev = temp;
		temp = temp->getNext();
	}
	return objectFound;
}
开发者ID:tomasz-kucharski,项目名称:robocode,代码行数:26,代码来源:List.cpp

示例3: add

void KdTree::add( KdTreeNode* kdnode, Object* ob )
{
	//std::cout<<_buffer_l<<std::endl;
	ListNode* node = &_ListNodeBuffer[_buffer_l++];
	node->setObject( ob );
	node->setNext( kdnode->getList() );
	kdnode->setList( node );
}
开发者ID:sola777,项目名称:RayTrace,代码行数:8,代码来源:Kdtree.cpp

示例4: while

// Add to the end of the list
ListNode * LinkedList::append(const int val)
{
  ListNode *node = &head;

  while (node->hasNext()) {
    node = node->getNext();
  }
  return node->setNext(new ListNode(val));
}
开发者ID:c12345678,项目名称:bridgingmodule2012,代码行数:10,代码来源:list.cpp

示例5: findPrevious

void List<Object>::remove( const Object& data ) {
	ListIterator<Object> iter = findPrevious( data );
	if (iter.isValid()) {
		ListNode<Object>* node = findPrevious( data ).current;
		if (node->getNext() != NULL) {
			ListNode<Object> *oldNode = node->getNext();
			node->setNext( node->getNext()->getNext() );  // Skip oldNode
			delete oldNode;
		}
	}
}
开发者ID:asztell,项目名称:Cplusplus,代码行数:11,代码来源:List.cpp

示例6: add

void PtrListRep::add(void* element)
{
    ListNode* n = new ListNode(element);

    if(_last==NULL)
    { // this is the very first one
        _first = _last = n;
    }
    else { // append to the end
        _last->setNext(n);
        n->setPrevious(_last);
        _last = n;
    }
}
开发者ID:brunolauze,项目名称:pegasus,代码行数:14,代码来源:List.cpp

示例7: push_back

void List::push_back(const char * a){
	Item b(a);
	ListNode *node = new ListNode(b);
	if (head == NULL)
    {
      // list is empty
      head = node;
      tail = node;
    }
  else 
    {
      tail->setNext(node);
      tail = node;
    }
}
开发者ID:APeeples,项目名称:BS,代码行数:15,代码来源:hw2.cpp

示例8: append

void List::append(Item a)
{
  ListNode *node = new ListNode(a);
  if (head == NULL)
    {
      // list is empty
      head = node;
      tail = node;
    }
  else 
    {
      tail->setNext(node);
      tail = node;
    }
}
开发者ID:APeeples,项目名称:BS,代码行数:15,代码来源:hw2.cpp

示例9: Insert

void List::Insert(int newInt){
	if(head==NULL){
		ListNode * h = new ListNode(newInt,NULL);
		head=h;
	}
	else{
		ListNode * index = head;
		ListNode * prev = NULL;
		ListNode * newListNode = new ListNode(newInt);
		while(index->getNext()!=NULL && index->getMyInt()<=newInt){
			prev=index;
			index=index->getNext();
		}
		if(index->getMyInt()>newInt){
			newListNode->setNext(index);
			if(prev!=NULL)
				prev->setNext(newListNode);
			else
				head=newListNode;
		}
		else
			index->setNext(newListNode);
	}
}
开发者ID:LPAMNijoel,项目名称:CSLabs,代码行数:24,代码来源:Ch6Lab+Enhanced.cpp

示例10: remove

// Remove the first node having the specified value (if present)
int LinkedList::remove(const int val)
{
  ListNode *node = head.getNext();
  ListNode *prev = &head;

  while (node != 0 && node->getVal() != val) {
    prev = node;
    node = node->getNext();
  }
  if (node->getVal() == val) {
    prev->setNext(node->getNext());
    delete node;
    return val;
  }
  return -1;
}
开发者ID:c12345678,项目名称:bridgingmodule2012,代码行数:17,代码来源:list.cpp

示例11: makeListReverseOrder

void OrderedDictionary::makeListReverseOrder(OrderedDictionaryEntry *entry,
        ListNode *&head)
{
    if(entry == NULL)
        return; // árbol vacío, no hay nada que hacer
    
    makeListReverseOrder(entry->getLesser(), head);
    
    // pone el elemento actual al final y crea la lista si estaba en NULL
    if(head == NULL){
        head = new ListNode(entry->getVal());
    } else {
        ListNode *entryNode = new ListNode(entry->getVal());
        entryNode->setNext(head);
        head = entryNode;
    }
    
    makeListReverseOrder(entry->getGreater(), head);
}
开发者ID:quintanalexis1989,项目名称:Grupo8Lab6Git,代码行数:19,代码来源:OrderedDictionary.cpp

示例12: remove

void List::remove(ICollectible *c)
{
    ListNode *current = head;
    ListNode *previous = NULL;
    while(current != NULL && current->getElem() != c){
        previous = current;
        current = current->getNext();
    }

    if(current == NULL){ // final de la lista, no estaba
        return;
    } else if(current->getElem() == c){ // ya está, se borra
        --size;
        if(previous == NULL) // se borra el primer elemento
            head = current->getNext();
        else
            previous->setNext(current->getNext());
        delete current;
    }
}
开发者ID:Aillaud,项目名称:p4l6,代码行数:20,代码来源:List.cpp

示例13: add

void List::add(ICollectible* c)
{
    if(head == NULL){ // list vacía; tamaño = 1
        head = new ListNode(c);
        size = 1;
        return;
    }
    
    ListNode *current = head;
    ListNode *previous;
    while(current != NULL && current->getElem() != c){
        previous = current;
        current = current->getNext();
    }
    
    if(current == NULL){ // final de la lista, se agrega
        previous->setNext(new ListNode(c));
        ++size;
    }
}
开发者ID:Aillaud,项目名称:p4l6,代码行数:20,代码来源:List.cpp

示例14: ListNode

// Insert at the beginning of the list
ListNode * LinkedList::prepend(const int val)
{
  return head.setNext(new ListNode(val, head.getNext()));
}
开发者ID:c12345678,项目名称:bridgingmodule2012,代码行数:5,代码来源:list.cpp


注:本文中的ListNode::setNext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。