Skip to content
On this page

d64_q4a_list_merge.cpp

cpp
#pragma region student.h
#ifndef __STUDENT_H_
#define __STUDENT_H_
#include <algorithm>

template <typename T>
void CP::list<T>::merge(CP::list<CP::list<T>>& ls) {
    for (auto& l : ls) {
        this->mHeader->prev->next = l.mHeader->next;
        l.mHeader->next->prev = this->mHeader->prev;
        this->mHeader->prev = l.mHeader->prev;
        this->mHeader->prev->next = this->mHeader;

        this->mSize += l.mSize;

        l.mHeader->prev = l.mHeader;
        l.mHeader->next = l.mHeader;
        l.mSize = 0;
    }
}

#endif
#pragma endregion student.h

See on GitHub

Last Updated: 15/1/2567 13:25:21 (UTC+7)

Released under the MIT License