本文整理汇总了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;
}
}
}
}
示例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;
}
示例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 );
}
示例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));
}
示例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;
}
}
}
示例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;
}
}
示例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;
}
}
示例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;
}
}
示例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);
}
}
示例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;
}
示例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);
}
示例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;
}
}
示例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;
}
}
示例14: ListNode
// Insert at the beginning of the list
ListNode * LinkedList::prepend(const int val)
{
return head.setNext(new ListNode(val, head.getNext()));
}