所以,我自学数据结构和算法。在解决一些问题时,我遇到了下面的问题,我必须分离链表的奇偶节点。在C++的链表中分离偶数和奇数节点
以下是问题陈述:
鉴于整数链表,编写一个函数来修改链表,使所有偶数在修改后的链接列表中的所有奇数出现之前。此外,保持偶数和奇数的顺序相同。
我知道这个问题被问了很多次。但我仍然无法找到答案。我知道,有多种方法来解决这个问题,但试图以如下方式
1. Traversing over the original list and moving all the odd elements to new oddlist.
Same time delete those elements from the original list.
2. Now original list should have even elements and oddlist will have odd elements.
3. concatenate original list and oddlist
它看起来直截了当和 我以为只是通过删除节点和调整几个指针可以解决这个问题,要解决这一点,但它不是情况
#include
#include
using namespace std;
struct Node {
int data;
struct Node *next;
};
struct Node *Insert_at_bottom(struct Node* head, int data) {
struct Node *node;
node = new struct Node;