您的位置:首页 > 其它

向有序循环单向链表中插入节点

2015-02-27 00:33 176 查看
给定一个有序的循环单向链表和一个整数,要求将以该整数为值的新节点插入原链表中,新链表要求仍然有序。

class Node
{
public:
Node(int v)
{
value = v;
next = NULL;
}
int value;
Node *next;
};

void insertNode(Node* aNode, int x)
{
if (aNode == NULL)
{
aNode = new Node(x);
aNode->next = NULL;
return;
}

Node *start = aNode;
Node *cur = aNode;
Node *next = aNode->next;
while (next != start)
{
if ((x >= cur->value) && (x <= next->value))
{
break;
}
if (((x >= cur->value) || (x <= next->value)) && (cur->value >= next->value))
{
break;
}

cur = next;
next = cur->next;
}

Node *newNode = new Node(x);
newNode->next = next;
cur->next = newNode;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: