如何通过在C ++中操作指针来对链表进行排序

时间:2016-11-12 20:06:31

标签: c++ pointers linked-list bubble-sort

void NumberList::sortList(){
ListNode *nodePtr, *nextNode, *temp, *previousNode;
nodePtr = head;
nextNode = head->next;

while(nextNode->next) {
    if(nodePtr == head){
        head = nodePtr->next;
        nodePtr->next = head->next;
        head->next = nodePtr;
        previousNode = head;
    }
    else if(nodePtr->value > nextNode->value){
        head = nextNode;
        nextNode = head->next;
        head->next = nodePtr;
        previousNode = head;
    }
}

首先,我试图让while循环遍历所有值。 我再次尝试通过更改指针来排序列表,而不是链接列表中的值。

0 个答案:

没有答案