本文整理汇总了C++中ListNode::SetNextListNode方法的典型用法代码示例。如果您正苦于以下问题:C++ ListNode::SetNextListNode方法的具体用法?C++ ListNode::SetNextListNode怎么用?C++ ListNode::SetNextListNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ListNode
的用法示例。
在下文中一共展示了ListNode::SetNextListNode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: insertNode
//**************************************************
// The insertNode function inserts a node with
// countryIn copied to its country member.
//**************************************************
void CountryList::insertNode(Country countryIn)
{
ListNode *newNode; // A new node
ListNode *nodePtr; // To traverse the list
ListNode *previousNode = NULL; // The previous node
// Allocate a new node and store the country there.
newNode = new ListNode;
newNode->SetCountry(countryIn);
previousNode = head;
nodePtr = head->GetNextListNode();
// Find the location of the new node in the sorted list
while (nodePtr != NULL && strcmp(nodePtr->GetCountry().GetCode(), countryIn.GetCode()) < 0) {
previousNode = nodePtr;
nodePtr = nodePtr->GetNextListNode();
}
// Update links and counter
previousNode->SetNextListNode(newNode);
newNode->SetNextListNode(nodePtr);
cnt++;
}
示例2: deleteNode
//**************************************************
// The deleteNode function searches for a node
// with code as its code. The node, if found, is
// deleted from the list and from memory.
// It returns an error code
// -1 represents an empty list
// 0 means the country was not found
// 1 means the country was deleted
//**************************************************
int CountryList::deleteNode(const char* code)
{
ListNode *nodePtr; // To traverse the list
ListNode *previousNode = NULL; // To point to the previous node
// check if list is empty
if (cnt == 0)
return -1; // -1 for empty list
nodePtr = head->GetNextListNode();
// Search for the node to be deleted from the list
while (nodePtr != NULL && strcmp(nodePtr->GetCountry().GetCode(), code) != 0) {
previousNode = nodePtr;
nodePtr = nodePtr->GetNextListNode();
}
if (nodePtr) { // found
previousNode->SetNextListNode(nodePtr->GetNextListNode());
delete nodePtr;
cnt--;
return 1; // 1 for success
}
return 0; // 0 for not found
}