Array | 순서가 매겨진 요소들의 집합. 정수 색인값을 통해 접근가능함. 배열 컬렉션의 크기가 유동적이나, 속도가 느린단점이 있다. |
List | 순서가 있는 데이터 항목의 집합. Doubly-linked list 로 구현되어 있다. 데이터의 삽입, 삭제가 빠르지만 하나하나의 데이터를 검색하는 속도는 느리다. |
Map | 순서가 없는 데이터 항목의 집합. 키값을 통해서 각각의 컬렉션에 접근한다. 데이터의 검색에 유용하다. 그렇지만 순차적인 접근이 필요한 곳에서는 배열이 더 좋다. |
~cpp CArray<ObjectType, ObjectType&> anArray CArray<저장될 객체의 형식, 사용되는 인수의 형식> anArray첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
~cpp SetSize() | 배열의 초기 개수를 지정한다. 지정하지 않아도 동작하지만 어느정도의 값을 예측해서 주면, 불필요한 매모리 재할당의 작업이 줄어들 수 있다. |
~cpp Add(ObjectType) | 특정 객체를 배열에 저장한다. |
~cpp GetAt(index) | 인덱스로 지정된 배열의 객체를 리턴한다. |
~cpp operator[index] | GetAt()과 동일하게 작동하며, built-in 배열과 동일한 사용법을 제공한다. ~cpp pointArray.SetAt (3, NewPoint)~cpp pointArray[3]=NewPoint |
~cpp Append() | 인자로 전달된 배열을 배열의 끝 부분에 추가한다. |
~cpp InsertAt() | 인자로 전달된 객체를 배열의 특정 인덱스에 삽입한다. |
~cpp ConstructElements(), DestructElements()
보조함수들은 객체를 삽입, 삭제하는 과정에서 쓰이는 보조 함수들이다.~cpp CList<ObjectType, ObjectType&> aList CList<저장될 객체의 형식, 사용되는 인수의 형식> aList첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
~cpp AddHead() | 리스트의 첫번째 요소에 객체를 추가한다. 리턴형은 POSITION이다. |
~cpp AddTail() | 리스트의 마지막 요소에 객체를 추가한다. 리턴형은 POSITION이다. |
~cpp GetNext(POSITION) | 전달된 위치 변수를 증가시킨다. 마지막 객체에서 사용될때에는 NULL을 리턴한다. |
~cpp GetPrev() | 알아서 =.=;; |
~cpp InsertBefore(POSITION, ObjectType) | 두번째 인자의 객체를 첫번째 인자의 위치의 앞부분에 삽입한다. |
~cpp InsertAfter(POSITION, ObjectType) | 알아서 =.=;; |
~cpp SetAt(POSITION, ObjectType) | 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. |
~cpp GetHeadPosition() | 리스트의 맨 처음에대한 POSITION값을 리턴한다. |
~cpp GetTailPosition() | 리스트의 맨 마지막에대한 POSITION값을 리턴한다. |
~cpp GetAt() | 특정 위치의 객체를 리턴한다. |
~cpp Find(ObjectType) | 인자로 받은 객체를 검색해서 그 위치의 POSITION값을 리턴한다. 어드레스 수준에서 비교가 행해진다. |
~cpp FindIndex() | 인자로 받은 int 형의 색인값을 기준으로 그곳의 POSITION 형태의 값을 리턴한다. 최초 요소는 인덱스 0을 갖는다. |
~cpp GetCount() | 리스트에 있는 요소의 개수를 리턴한다. |
~cpp RemoveHead() | 리스트의 가장 윗 요소 삭제 |
~cpp RemoveTail() | 리스트의 가장 마지막 요소 삭제 |
~cpp IsEmpty() | 리스트가 비어있는지 검사 |
~cpp RemoveAt(POSITION) | 특정위치의 리스트 요소를 삭제 |
~cpp RemoveAll() | 리스트안에 있는 요소들에게 할당되었떤 메모리를 해제한다. |
~cpp ConstructElements(), DestructElements(), CompareElements()
보조함수들은 객체를 삽입, 삭제, 검색하는 과정에서 쓰이는 보조 함수들이다.~cpp CMap<KeyType, KeyType&, ObjectType, ObjectType&> aMap CMap<키 형식, 키 인수 형식, 저장될 객체의 형식, 사용되는 인수의 형식> aMap맵은 객체와 키의 조합을 저장한다. 키는 맵에 할당된 메모리의 특정 블록안에 객체가 저장되어 있는지를 결정하는데 사용된다. 키를 맵안의 엔트리의 어드레스로 계산될 수 있는 정소로 변환하는 과정을 해실(Hashing)이라고 한다.
~cpp Lookup() | 지정된 키에 해당하는 객체를 검색한다. |
~cpp operator[] | 배열과 동일한 형태로 사용하는 것이 가능 |
~cpp CTypedPtrList<BaseClass, Type*> ListName 첫번째 인자는 기본 포인터 리스트 클래스인 CObList, CPtrList중에서 선택. CObList는 CObject의 파생 클래스를, CPtrList는 void*형의 포인터들의 리스트를 지원한다.제공되는 멤버 함수들은 CList에 의해서 제공되는 것들과 거의 비슷하며, 연산이 포인터에 대해서 행해진다는 것은 다른 점이다.
~cpp GetHead() | 리스트의 가장 앞에있는 포인터를 리턴. IsEmpty() 검사 필요. |
~cpp GetTail() | 리스트의 끝에 존재하는 포인터를 리턴. IsEmpty() 검사 필요. |
~cpp RemoveHead() | 리스트의 가장 앞에 있는 포인터를 삭제. IsEmpty() 검사 필요. |
~cpp RemoveTail() | 리스트의 가장 끝에 있는 포인터를 삭제. IsEmpty() 검사 필요. |
~cpp GetNext(POSITION) | 레퍼런스 인수로 전달된 POSITION형식의 변수가 가ㅤㄹㅣㅋ미는 위치에 있는 포인터를 리턴한다. 끝에 도달하면 POSITION은 NULL로 할당. |
~cpp GetPrev() | 알아서 =.=;; |
~cpp GetAt() | 특정 위치의 객체를 리턴한다. |
~cpp AddHead() | 리스트의 첫번째 요소에 객체를 추가한다. 리턴형은 POSITION이다. |
~cpp AddTail() | 리스트의 마지막 요소에 객체를 추가한다. 리턴형은 POSITION이다. |
~cpp RemoveAll() | 리스트안에 있는 요소들에게 할당되었떤 메모리를 해제한다. |
~cpp GetHeadPosition() | 리스트의 맨 처음에대한 POSITION값을 리턴한다. |
~cpp GetTailPosition() | 리스트의 맨 마지막에대한 POSITION값을 리턴한다. |
~cpp SetAt(POSITION, ObjectType) | 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. |
~cpp RemoveAt(POSITION) | 특정위치의 리스트 요소를 삭제 |
~cpp InsertBefore(POSITION, ObjectType) | 두번째 인자의 객체를 첫번째 인자의 위치의 앞부분에 삽입한다. |
~cpp InsertAfter(POSITION, ObjectType) | 알아서 =.=;; |
~cpp Find(ObjectType) | 인자로 받은 객체를 검색해서 그 위치의 POSITION값을 리턴한다. 어드레스 수준에서 비교가 행해진다. |
~cpp FindIndex() | 인자로 받은 int 형의 색인값을 기준으로 그곳의 POSITION 형태의 값을 리턴한다. 최초 요소는 인덱스 0을 갖는다. |
~cpp GetCount() | 리스트에 있는 요소의 개수를 리턴한다. |
~cpp IsEmpty() | 리스트가 비어있는지 검사 |