我想在不更改顺序的情况下将新元素(整数)插入到已排序的链接列表中,例如: 如果像这样的链表:4 - > 6 - > 8 - →10 在调用方法sortedl(7)之后,链表将是: 4 - →6 - 大于7 - > - >的 8 - →10
我尝试过编写代码,但它总是在第六位后添加它!
任何想法?
答案 0 :(得分:0)
您遍历链接列表,直到遇到大于要插入的数字的节点。我们称那个音符为N + 1。我打算在N-1之前调用节点。这个名字相当随意。
您创建一个新节点,我们称之为N,代表您的新号码(示例中为7)。
在插入之前,节点N-1(保持值6)指向节点N + 1(保持值8)。
要插入,请将N-1指向N,并将N指向N + 1。如果这是双链表,则以类似的方式更新后向指针。
我尝试过编写代码,但它总是在第六位后添加它!
如果您的输入值为7(来自sortedI(7)
),那么您确实希望看到的是6< 7< 8.但是,如果任何输入值发生,请发布您的代码。