在我的代码中,有2个列表。我想将它们分开:偶数和奇数。
我写了一些东西。但是,它没有打印我想要的东西。我该怎么办 ?
if((list->data) % 2 == 1){
oddList = list;
list = list->nextPtr;
oddList->nextPtr = NULL;
printList(oddList);
} else {
evenList = list;
list = list->nextPtr;
evenList->nextPtr = NULL;
}
list = list->nextPtr;
结果是:
list1 : 4 17 17 19 21 28 31
list2 : 5 5 10 14 19 31 34 35
oddList : 5 17 19 31 31
evenlist :
但是
oddList
必须是:5 5 17 17 19 19 21 31 31 35
最佳答案
您两次前进list
if ((list->data) % 2 == 1) {
oddList = list;
list = list->nextPtr; // first advance
oddList->nextPtr = NULL;
printList(oddList);
} else {
evenList = list;
list = list->nextPtr; // first advance
evenList->nextPtr = NULL;
}
list = list->nextPtr; // second advance
}