commit 2025-10-03 17:30 add DeleteHead(TypeSize) & DeleteTail(TypeSize) in ZtCBaseList : ZCppMain/ZMainHead.H
This commit is contained in:
@ -5883,6 +5883,70 @@ namespace ZNsMain
|
||||
void DeleteTail()*/
|
||||
|
||||
|
||||
void DeleteHead(TTypSize AL_DelSize)
|
||||
{
|
||||
// AL_DelSize 개의 링크를 앞 부분에서 삭제
|
||||
|
||||
if(ml_LinkSize<1 || AL_DelSize<1){ return; }
|
||||
|
||||
if(AL_DelSize > ml_LinkSize){ AL_DelSize=ml_LinkSize; }
|
||||
|
||||
if(AL_DelSize==ml_LinkSize)
|
||||
{
|
||||
RecvFreeIn
|
||||
(ml_LinkSize, mp_HeadLink, mp_TailLink);
|
||||
mp_HeadLink=0 ;
|
||||
mp_TailLink=0 ;
|
||||
ml_LinkSize=0 ;
|
||||
|
||||
return;
|
||||
}/*
|
||||
if(AL_DelSize==ml_LinkSize)*/
|
||||
|
||||
ZCLink* VP_NewHead =
|
||||
mp_HeadLink->GetNextPrevPtr( AL_DelSize ) ;
|
||||
RecvFreeIn
|
||||
(AL_DelSize, mp_HeadLink, VP_NewHead->mp_PrevLink);
|
||||
|
||||
mp_HeadLink = VP_NewHead ;
|
||||
ml_LinkSize -= AL_DelSize ;
|
||||
|
||||
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
|
||||
}/*
|
||||
void DeleteHead(TTypSize AL_DelSize)*/
|
||||
|
||||
|
||||
void DeleteTail(TTypSize AL_DelSize)
|
||||
{
|
||||
if(ml_LinkSize==0 || AL_DelSize<1){ return; }
|
||||
|
||||
if(AL_DelSize> ml_LinkSize){ AL_DelSize=ml_LinkSize; }
|
||||
|
||||
if(AL_DelSize==ml_LinkSize)
|
||||
{
|
||||
RecvFreeIn
|
||||
(ml_LinkSize, mp_HeadLink, mp_TailLink);
|
||||
mp_HeadLink=0 ;
|
||||
mp_TailLink=0 ;
|
||||
ml_LinkSize=0 ;
|
||||
|
||||
return;
|
||||
}/*
|
||||
if(AL_DelSize==ml_LinkSize)*/
|
||||
|
||||
ZCLink* VP_NewTail =
|
||||
mp_TailLink->GetNextPrevPtr( -AL_DelSize ) ;
|
||||
RecvFreeIn
|
||||
(AL_DelSize, VP_NewTail->mp_NextLink, mp_TailLink);
|
||||
|
||||
mp_TailLink = VP_NewTail ;
|
||||
ml_LinkSize -= AL_DelSize ;
|
||||
|
||||
ZCLink::MakeRing(mp_HeadLink, mp_TailLink);
|
||||
}/*
|
||||
void DeleteTail(TTypSize AL_DelSize)*/
|
||||
|
||||
|
||||
ZtCBaseList& JoinAfter(ZtCBaseList& rhs, ZCLink* AP_StdLink)
|
||||
{
|
||||
// AP_StdLink 의 뒤에 rhs 를 삽입.
|
||||
|
Reference in New Issue
Block a user