فرض کنیم عنصر ابتدای لیست رو با list نمایش بدیم و تمامی عناصر لیست یک id دارند. در تابع اول مقدار item به تابع ارسال میشه، یک گره ایجاد میشه و در مکان مناسب قرار میگیره(در صورت وجود) در تابع دوم فقط مکان یک گره که گره بعد از باید حذف بشه به تابع ارسال میشه.
void InsertNode(ItemType item,Node mynode)
{
Node *newnode;
Node *location;
newnode = new Node;
newnode -> data = item;
location = list;
if(list != NULL)
{
while(location -> id != mynode -> id)
location = location -> next;
newnode -> next = location -> next;
location -> next = newnode;
}
else
return;
}
void DeleteNode(Node mynode)
{
Node *location;
Node *temp;
location = list;
if(list != NULL)
{
while(location -> id != mynode -> id)
location = location -> next;
location = location -> next;
temp = location;
location = location -> next;
delete temp;
}
else
return;
}