commit 2025-08-17 15:25 edit ZCppMain/ZtCSortObjList.H : add ZNsExam::ZtCSortIntList
This commit is contained in:
@ -4,7 +4,7 @@
|
|||||||
#define __ZCPPMAIIN__ZTCOBJLIST_H__
|
#define __ZCPPMAIIN__ZTCOBJLIST_H__
|
||||||
|
|
||||||
|
|
||||||
#include "ZCppMain/ZtCSortObjList.H"
|
#include "ZCppMain/ZMainHead.H"
|
||||||
|
|
||||||
|
|
||||||
namespace ZNsMain
|
namespace ZNsMain
|
||||||
@ -1726,7 +1726,7 @@ namespace ZNsMain
|
|||||||
|
|
||||||
myObjList.IterElement(StFunctor::ShowElement);
|
myObjList.IterElement(StFunctor::ShowElement);
|
||||||
myObjList.IterElement(&VO_StFunctor2); // linux g++ 4.4.7 에서 컴파일 에러다.
|
myObjList.IterElement(&VO_StFunctor2); // linux g++ 4.4.7 에서 컴파일 에러다.
|
||||||
// struct StFunctor2 정의를 main() 함수 바깥으로 빼면 컴파일된다.
|
// struct StFunctor2 정의를 main() 함수 바깥으로 빼면 컴파일된다.
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,10 @@
|
|||||||
|
|
||||||
-- 2013-04-30 22:57:00
|
-- 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)
|
if(pf_IsTrueValue(VP_LhsTemp->GetData(), VP_RhsHead->GetData())==true)
|
||||||
{
|
{
|
||||||
VP_TempLink=VP_RhsHead;
|
VP_TempLink=VP_RhsHead ;
|
||||||
VP_RhsHead =VP_RhsHead->mp_NextLink;
|
VP_RhsHead =VP_RhsHead->mp_NextLink;
|
||||||
|
|
||||||
ARR_AddList.JoinBefore( ARR_CutList.CutLink(VP_TempLink,1),
|
ARR_AddList.JoinBefore ////////////////////
|
||||||
VP_LhsTemp,
|
(
|
||||||
VL_LhsTempPos
|
ARR_CutList.CutLink(VP_TempLink,1),
|
||||||
/*/////////////////*/ ); //////////////////////////////////
|
VP_LhsTemp,
|
||||||
|
VL_LhsTempPos
|
||||||
|
);
|
||||||
|
///////////////////////////////////////////
|
||||||
|
|
||||||
/* VP_LhsTemp 앞에 링크가 하나 삽입되었으므로,
|
/* VP_LhsTemp 앞에 링크가 하나 삽입되었으므로,
|
||||||
VP_LhsTemp 의 위치값을 하나 증가시킨다. */
|
VP_LhsTemp 의 위치값을 하나 증가시킨다. */
|
||||||
@ -646,6 +653,50 @@ namespace ZNsMain
|
|||||||
template<typename TTypObjList> class ZtCSortObjList */
|
template<typename TTypObjList> class ZtCSortObjList */
|
||||||
|
|
||||||
|
|
||||||
|
namespace ZNsExam
|
||||||
|
{
|
||||||
|
|
||||||
|
template<typename TTypeInt=int> class ZtCSortIntList
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
static void ShowElemnet(int AI_Element)
|
||||||
|
{
|
||||||
|
cout<<"* Element : "<<AI_Element<<endl;
|
||||||
|
}
|
||||||
|
///////////////////////////////////////
|
||||||
|
|
||||||
|
static int Main(int AI_ArgCnt=0, const char* APP_ArgVal[]=0)
|
||||||
|
{
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
typedef ZNsMain::ZtCObjList<TTypeInt, TTypeInt> 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" <<endl; ZtCSortObjList<CObjList>::
|
||||||
|
QuickSort(RR(VO_CIntList), true ); VO_CIntList.IterElement(ShowElemnet);
|
||||||
|
cout<<"# Sort DESC"<<endl; ZtCSortObjList<CObjList>::
|
||||||
|
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<typename TTypeInt=int> class ZtCSortIntList*/
|
||||||
|
|
||||||
|
}/*
|
||||||
|
namespace ZNsExam*/
|
||||||
|
|
||||||
|
|
||||||
// 단방향 연결리스트에 대한 정렬 클래스이다.
|
// 단방향 연결리스트에 대한 정렬 클래스이다.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user