commit 2025-08-17 02:54 utf8 변환 : some files
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
|
||||
#ifndef __ZCPPMAIN_ZMAINAVL_H__
|
||||
#define __ZCPPMAIN_ZMAINAVL_H__
|
||||
@ -16,9 +16,9 @@ namespace ZNsMain
|
||||
enum ZEAVL_INSERT
|
||||
{
|
||||
ZEAVL_INSERT_RIGHT = +1,
|
||||
ZEAVL_INSERT_OK = 0, /* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20>̴<EFBFBD>. */
|
||||
ZEAVL_INSERT_OK = 0, /* 삽입 후의 평형계수가 0 이다. */
|
||||
ZEAVL_INSERT_LEFT = -1,
|
||||
ZEAVL_INSERT_NONE = -2 /* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> */
|
||||
ZEAVL_INSERT_NONE = -2 /* 삽입 안 됨 */
|
||||
};/*
|
||||
enum ZEAVL_INSERT*/
|
||||
|
||||
@ -50,13 +50,13 @@ namespace ZNsMain
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD> <20>Ʒ<EFBFBD> ZtCAVL_NodeBase<> <EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> ZtCAVL_BASE<> <20><> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD> <20>ϳ<EFBFBD> <20>پ<EFBFBD><D9BE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><> <20>ִ<EFBFBD>. ZtCAVL_BASE<> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD>
|
||||
<EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD><EFBFBD> <20><> <20>ְ<EFBFBD> <20><> <20><><EFBFBD>̴<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ZtCAVL_BASE<> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD>
|
||||
<EFBFBD><EFBFBD>, AP_Node->OnEqual() <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ZtCAVL_NodeBase<> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> ȣ<><C8A3><EFBFBD><EFBFBD> <20><>
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ZtCAVL_NodeBase<> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><F0BFA1BC><EFBFBD> ȣ<><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>. <20><> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD> <20>̷<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ߴµ<DFB4>, <20>Ƹ<EFBFBD> ZtCAVL_Multi_BASE<> <EFBFBD><EFBFBD>
|
||||
ZtCAVL_Multi_NodeBase<> <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD> <20><EFBFBD><D7B7><EFBFBD> <20><><EFBFBD>̴<EFBFBD>.
|
||||
■ 아래 ZtCAVL_NodeBase<> 의 각 멤버 함수는 ZtCAVL_BASE<> 의 멤버 함수보다
|
||||
인수가 하나 줄어든 것을 볼 수 있다. ZtCAVL_BASE<> 에서 같은 이름의 함수를
|
||||
자연스럽게 호출할 수 있게 한 것이다. 따라서 ZtCAVL_BASE<> 의 멤버 함수에
|
||||
서, AP_Node->OnEqual() 등으로 ZtCAVL_NodeBase<> 의 멤버 함수를 호출해 주
|
||||
지 않으면, ZtCAVL_NodeBase<> 의 멤버는 어디에서도 호출되지 않는다. 왜 최초
|
||||
에 이런 식으로 설계했을까. 한참 생각했는데, 아마 ZtCAVL_Multi_BASE<> 와
|
||||
ZtCAVL_Multi_NodeBase<> 를 사용할려고 그랬을 것이다.
|
||||
|
||||
-- 2012-09-03 19:20:00
|
||||
|
||||
@ -104,8 +104,8 @@ namespace ZNsMain
|
||||
|
||||
/*//////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD> ZtCAVL_Multi_NodeBase template <EFBFBD><EFBFBD> multi set/map <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>,
|
||||
ZtCAVL_Multi_NodeBase::TypeEqual <EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>.
|
||||
■ ZtCAVL_Multi_NodeBase template 로 multi set/map 을 구성하는 경우,
|
||||
ZtCAVL_Multi_NodeBase::TypeEqual 자료형에 접근하는 예.
|
||||
|
||||
class CTypeMy
|
||||
{
|
||||
@ -154,8 +154,8 @@ namespace ZNsMain
|
||||
|
||||
/*/////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD> AVL Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> <20>ٷ<EFBFBD><D9B7>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD><C3B8>̴<EFBFBD>.
|
||||
■ AVL 트리의 데이타 타입이 포인터인 경우, 포인터를 정수처럼 다루어서
|
||||
비교 연산자를 정의하는 클래스 템플릿이다.
|
||||
|
||||
/////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@ -217,9 +217,9 @@ namespace ZNsMain
|
||||
template<typename TData> class ZtCAVL_PtrLongData*/
|
||||
|
||||
|
||||
/* int, long <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><F1B1B3BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> primitive Ÿ<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD> object <EFBFBD><EFBFBD>
|
||||
key <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD>쿡, <20>ش<EFBFBD> AVL Ʈ<><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20>ٷ<EFBFBD>
|
||||
<EFBFBD><EFBFBD> <20><> <20>ֵ<EFBFBD><D6B5><EFBFBD> wrap <20><> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD>ø<EFBFBD> */
|
||||
/* int, long 같이 비교연산이 가능한 primitive 타입이나 object 를
|
||||
key 로 가지고 있는 경우에, 해당 AVL 트리의 노드 데이타로 바로
|
||||
쓸 수 있도록 wrap 한 클래스 템플릿 */
|
||||
|
||||
template< typename TKeyData ,
|
||||
typename TMainData,
|
||||
@ -305,7 +305,7 @@ namespace ZNsMain
|
||||
|
||||
/*/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
<EFBFBD><EFBFBD> mulit set <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
||||
■ mulit set 으로 활용하는 예제코드
|
||||
|
||||
ZNsMain::CLargeAVL ///////////////////////////////////
|
||||
<
|
||||
|
Reference in New Issue
Block a user