我尝试在正数第一个和最后的负数时对链表进行排序,但我想保留原始顺序
例如,我插入:3,1,4,6,7,8。
这就是我想要的:4,6,8,3,1,7。
但这就是我得到的:4,6,8,7,1,3
std::string
答案 0 :(得分:1)
<强>问题强>
在列表中的最后一个偶数后面插入任何奇数。 这实际上意味着奇数子列表按出现的相反顺序排序。
<强>解决方法强>
按如下方式调整insert
:
在
while (next && next->number % 2 == 0){
prev = next;
next = next->nextPtr;
}
添加
if ( num % 2 == 1 ) {
while (next){
prev = next;
next = next->nextPtr;
}
}
<强>改进强>
效率和代码可维护性更好的方法是为子列表或2个链接列表保留两个last
指针,而不是首先使用一个。{1}}指针。只要两个子列表至少有一个条目,您就可以通过简单地链接各个部分来创建一个综合列表。
<强>买者强>
这可能不是OP想要的。她的问题含糊不清,可能使用错误的术语。