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.hSee on GitHub
Last Updated: 15/1/2567 13:25:21 (UTC+7)