所以我有一个单链表。新项目被添加到链的前面,因此如果添加 8、4、10,则列表将为 10、4、8。无论如何,现在我正在尝试在插入完成后对列表进行排序,但我只是无法弄清楚如何遍历这些数字并按升序重新排列它们。我可能会在这里休息一下,稍后再回来,希望这能帮助我解决这个问题。
*这是一个学校项目,因此建议我使用其他容器对我的情况没有帮助,除非提供信息,因为我无法更改我正在使用的内容。
列表的布局
struct Node
{
int Item; // User data item
Node * Succ; // Link to the node's successor
};
unsigned Num //number of items in the list
Node * Head //pointer to the first node
我的插入函数看起来像这样
Node * newOne;
newOne = new (nothrow) Node;
newOne->Item = X;
newOne->Succ = NULL;
if(Head == NULL)
{
Head = newOne;
}
else
{
newOne->Succ = Head;
Head = newOne;
}
Num++;