From 95527d054409e6c55d10053564a50f787b5dbd3d Mon Sep 17 00:00:00 2001 From: sauron Date: Sun, 17 Aug 2025 02:51:48 +0900 Subject: [PATCH] =?UTF-8?q?commit=202025-08-17=2002:51=20utf8=20=EB=B3=80?= =?UTF-8?q?=ED=99=98=20:=20ZCppMain/ZtCSortObjList.H?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZCppMain/ZtCSortObjList.H | 90 +++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/ZCppMain/ZtCSortObjList.H b/ZCppMain/ZtCSortObjList.H index cac5f61..895fbf5 100644 --- a/ZCppMain/ZtCSortObjList.H +++ b/ZCppMain/ZtCSortObjList.H @@ -1,4 +1,4 @@ - + #ifndef __ZCPPMAIN__ZCSORT_LIST_H__ #define __ZCPPMAIN__ZCSORT_LIST_H__ @@ -6,7 +6,7 @@ /*//////////////////////////////////////////////////// - CDoublieList.H CObjList.H include Ѵ. +■ CDoublieList.H 와 CObjList.H 가 include 한다. -- 2013-04-30 22:57:00 @@ -19,7 +19,7 @@ namespace ZNsMain { - // ḮƮ Ŭ̴. + // 양방향 연결리스트에 대한 정렬 클래스이다. template class ZtCSortObjList { @@ -32,8 +32,8 @@ namespace ZNsMain static inline bool IsMore(TypeArg AR_LeftType, TypeArg AR_RightType) { - /* IsMore() Լ IsLess() QuickSort() Լ - Լ Ϳ ϱ ؼ Ͽ. */ + /* IsMore() 함수와 IsLess() 는 QuickSort() 멤버 함수에서 쓰는 + 함수 포인터에 대입하기 위해서 정의하였다. */ return AR_LeftType > AR_RightType ; }/* @@ -83,8 +83,8 @@ namespace ZNsMain /* SwapLinkPtr(APA_LinkPtrArr[AL_FirstIndex], APA_LinkPtrArr[j]); - ڵ Ʒó 2 ٷ ° - ʾƼ . + 위 코드 보다 아래처럼 2 줄로 쓰는게 별도의 스택 변수를 사용하지 + 않아서 좋다. */ APA_LinkPtrArr[AL_FirstIndex]=APA_LinkPtrArr[j]; APA_LinkPtrArr[j ]=VP_PivotLinkPtr ; @@ -131,7 +131,7 @@ namespace ZNsMain /* SwapLinkPtr(APA_LinkPtrArr[AL_FirstIndex], APA_LinkPtrArr[j]); - ڵ Ʒó 2 ٷ ° ʾƼ .*/ + 위 코드 보다 아래처럼 2 줄로 쓰는게 별도의 스택 변수를 사용하지 않아서 좋다.*/ APA_LinkPtrArr[AL_FirstIndex]=APA_LinkPtrArr[j]; APA_LinkPtrArr[j ]=VP_PivotLinkPtr ; @@ -172,8 +172,8 @@ namespace ZNsMain /* SwapLinkPtr(APA_LinkPtrArr[AL_FirstIndex], APA_LinkPtrArr[j]); - ڵ Ʒó 2 ٷ ° - ʾƼ . + 위 코드 보다 아래처럼 2 줄로 쓰는게 별도의 스택 변수를 사용하지 + 않아서 좋다. */ APA_LinkPtrArr[AL_FirstIndex]=APA_LinkPtrArr[j]; APA_LinkPtrArr[j ]=VP_PivotLinkPtr ; @@ -224,7 +224,7 @@ namespace ZNsMain QuickSortAsc (VPP_LinkPtrArr, 0, VL_SortSize-1); else QuickSortDesc(VPP_LinkPtrArr, 0, VL_SortSize-1); - for(i=1; imp_PrevLink, ARR_AddList.ml_Size ); @@ -427,7 +427,7 @@ namespace ZNsMain if(pf_IsTrueValue(ARR_AddList.GetTailData(), ARR_CutList.GetHeadData())==false) { - ARR_AddList.JoinTail(ARR_CutList); return; // ̶ ̻ ʿ䰡 . + ARR_AddList.JoinTail(ARR_CutList); return; // 이때는 더 이상 비교할 필요가 없다. }/* if(pf_IsTrueValue(ARR_AddList.GetTailData(), ARR_CutList.GetHeadData())==false)*/ @@ -435,7 +435,7 @@ namespace ZNsMain ZCLink* VP_LhsTemp =ARR_AddList.mp_HeadLink; ZCLink* VP_RhsHead =ARR_CutList.mp_HeadLink; - TypeSize VL_LhsTempPos=1 ; // VP_LhsTemp ġ + TypeSize VL_LhsTempPos=1 ; // VP_LhsTemp 의 위치 bool VB_IsMoved =false; ZCLink* VP_TempLink =0 ; @@ -451,8 +451,8 @@ namespace ZNsMain VL_LhsTempPos /*/////////////////*/ ); ////////////////////////////////// - /* VP_LhsTemp տ ũ ϳ ԵǾǷ, - VP_LhsTemp ġ ϳ Ų. */ + /* VP_LhsTemp 앞에 링크가 하나 삽입되었으므로, + VP_LhsTemp 의 위치값을 하나 증가시킨다. */ ++VL_LhsTempPos; VB_IsMoved=true; }/* @@ -489,7 +489,7 @@ namespace ZNsMain bool AB_IsAscending=true /*#########*/ ) /*#########################################*/ { - // ARR_CObjList 带 ϰ . + // ARR_CObjList 의 각 노드를 유일하게 만든다. if(AB_IsSorted==false) QuickSort(ARR_CObjList,AB_IsAscending); @@ -499,8 +499,8 @@ namespace ZNsMain ZCLink* VP_HeadLink= ARR_CObjList.GetHeadLinkPtr(); ZCLink* VP_CutLink = 0 ; - /* VL_LoopSize-1 ȯϸ Ұ ̿Ѵٸ - յ 忡  ó ϰ 带 Ѵ. */ + /* VL_LoopSize-1 번 순환하며 같은 원소가 이웃한다면 + 앞뒤 노드에 대해 어떤 처리를 하고 뒤쪽의 노드를 삭제한다. */ for(TypeSize i=1; iGetNextPtr() ; - // VL_LoopSize-1 ȯ + // VL_LoopSize-1 번 순환 for(TypeSize i=2; i<=VL_LoopSize; ++i) { @@ -607,11 +607,11 @@ namespace ZNsMain } else // VP_CutTail->GetData()!=VP_CutTemp->GetData() { - /* ٸ ٴ ̴. - functor ó ѱ. functor - Ѱܹ Ʈ ݵ (ؾ) Ѵ. CutLink() - Լ ο Ʈ ü ִµ - ⿡ ڷᰡ ȵDZ ̴. */ + /* 다음 노드와 다르면 이전 노드들은 서로 같다는 것이다. + 이전 노드들은 functor 로 처리를 넘긴다. functor 는 + 넘겨받은 리스트를 반드시 써야(삭제해야) 한다. CutLink() + 멤버 함수는 내부에 정적 리스트 개체를 가지고 있는데 + 여기에 쓸데없는 자료가 남겨져서는 안되기 때문이다. */ AR_Functor ////////////////////////////////////// ( @@ -647,7 +647,7 @@ namespace ZNsMain - // ܹ ḮƮ Ŭ̴. + // 단방향 연결리스트에 대한 정렬 클래스이다. template class ZtCSortSimList { @@ -698,8 +698,8 @@ namespace ZNsMain /* SwapLinkPtr(APA_LinkPtrArr[AL_FirstIndex],APA_LinkPtrArr[j]); - ڵ Ʒó 2 ٷ ° - ʾƼ . + 위 코드 보다 아래처럼 2 줄로 쓰는게 별도의 스택 변수를 사용하지 + 않아서 좋다. */ APA_LinkPtrArr[AL_FirstIndex]=APA_LinkPtrArr[j]; APA_LinkPtrArr[j ]=VP_PivotLinkPtr ; @@ -760,13 +760,13 @@ namespace ZNsMain QuickSort(APF_IsMore, APF_IsLess, VPP_LinkPtrArr, 0, VL_SortSize-1); - for(i=1; i