From 69b2ed8018d21834a91d20ca52ecbc7018a410a5 Mon Sep 17 00:00:00 2001 From: sauron Date: Sun, 17 Aug 2025 15:26:37 +0900 Subject: [PATCH] commit 2025-08-17 15:25 edit ZCppMain/ZtCSortObjList.H : add ZNsExam::ZtCSortIntList --- ZCppMain/ZtCObjList.H | 4 ++-- ZCppMain/ZtCSortObjList.H | 61 +++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/ZCppMain/ZtCObjList.H b/ZCppMain/ZtCObjList.H index a72efcd..9fc9c6b 100644 --- a/ZCppMain/ZtCObjList.H +++ b/ZCppMain/ZtCObjList.H @@ -4,7 +4,7 @@ #define __ZCPPMAIIN__ZTCOBJLIST_H__ -#include "ZCppMain/ZtCSortObjList.H" +#include "ZCppMain/ZMainHead.H" namespace ZNsMain @@ -1726,7 +1726,7 @@ namespace ZNsMain myObjList.IterElement(StFunctor::ShowElement); myObjList.IterElement(&VO_StFunctor2); // linux g++ 4.4.7 에서 컴파일 에러다. - // struct StFunctor2 정의를 main() 함수 바깥으로 빼면 컴파일된다. + // struct StFunctor2 정의를 main() 함수 바깥으로 빼면 컴파일된다. return 0; } diff --git a/ZCppMain/ZtCSortObjList.H b/ZCppMain/ZtCSortObjList.H index 895fbf5..c99f85b 100644 --- a/ZCppMain/ZtCSortObjList.H +++ b/ZCppMain/ZtCSortObjList.H @@ -10,6 +10,10 @@ -- 2013-04-30 22:57:00 + ZtCArray.H 와 ZtCObjList.H 가 include 한다. + + -- 2025-08-17 14:37:00 + ////////////////////////////////////////////////////*/ @@ -443,13 +447,16 @@ namespace ZNsMain { if(pf_IsTrueValue(VP_LhsTemp->GetData(), VP_RhsHead->GetData())==true) { - VP_TempLink=VP_RhsHead; + VP_TempLink=VP_RhsHead ; VP_RhsHead =VP_RhsHead->mp_NextLink; - ARR_AddList.JoinBefore( ARR_CutList.CutLink(VP_TempLink,1), - VP_LhsTemp, - VL_LhsTempPos - /*/////////////////*/ ); ////////////////////////////////// + ARR_AddList.JoinBefore //////////////////// + ( + ARR_CutList.CutLink(VP_TempLink,1), + VP_LhsTemp, + VL_LhsTempPos + ); + /////////////////////////////////////////// /* VP_LhsTemp 앞에 링크가 하나 삽입되었으므로, VP_LhsTemp 의 위치값을 하나 증가시킨다. */ @@ -646,6 +653,50 @@ namespace ZNsMain template class ZtCSortObjList */ + namespace ZNsExam + { + + template class ZtCSortIntList + { + public: + + static void ShowElemnet(int AI_Element) + { + cout<<"* Element : "< CObjList ; + + CObjList VO_CIntList; ////////////////////////// + + VO_CIntList.AddTail(10); VO_CIntList.AddTail(1 ); + VO_CIntList.AddTail(6 ); VO_CIntList.AddTail(4 ); + VO_CIntList.AddTail(7 ); VO_CIntList.AddTail(2 ); + VO_CIntList.AddTail(8 ); VO_CIntList.AddTail(5 ); + VO_CIntList.AddTail(9 ); VO_CIntList.AddTail(3 ); + + cout<<"# Sort ASC" <:: + QuickSort(RR(VO_CIntList), true ); VO_CIntList.IterElement(ShowElemnet); + cout<<"# Sort DESC"<:: + QuickSort(RR(VO_CIntList), false); VO_CIntList.IterElement(ShowElemnet); + + return 0 ; + }/* + static int Main(int AI_ArgCnt=0, const char* APP_ArgVal[]=0)*/ + + public: + };/* + template class ZtCSortIntList*/ + + }/* + namespace ZNsExam*/ + // 단방향 연결리스트에 대한 정렬 클래스이다.