本文整理汇总了C++中SLNode::insertAfter方法的典型用法代码示例。如果您正苦于以下问题:C++ SLNode::insertAfter方法的具体用法?C++ SLNode::insertAfter怎么用?C++ SLNode::insertAfter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SLNode
的用法示例。
在下文中一共展示了SLNode::insertAfter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
SLNode* SkipList_Int2::insert(SLNode *head, int key, int value)
{
SLNode *n = head->next;
while (key > n->key) n = n->next;
if (key == n->key) {
*n->value = value;
return NULL;
}
else {
n = n->prev;
if (n->lower == NULL) {
SLNode *newN = new SLNode(key, new int(value));
n->insertAfter(newN);
++m_size;
return newN;
}
else {
SLNode *lower = insert(n->lower, key, value);
if (lower == NULL || rand() < (RAND_MAX / 2)) return NULL;
SLNode *newN = new SLNode(key, lower->value);
n->insertAfter(newN);
newN->lower = lower;
return newN;
}
}
}