Linked List(연결 리스트)-Template
CList
template< class TYPE, class
ARG_TYPE >
class CList : public
CObject
Parameters
TYPE
Type of object stored in the list.
ARG_TYPE
Type used to reference objects stored in the list. Can be a reference.
Remarks
The CList class supports ordered lists of nonunique objects accessible sequentially or by value. CList lists behave like doubly-linked lists.
A variable of type POSITION is a key for the list. You can use a POSITION variable as an iterator to traverse a list sequentially and as a bookmark to hold a place. A position is not the same as an index, however.
Element insertion is very fast at the list head, at the tail, and at a known POSITION. A sequential search is necessary to look up an element by value or index. This search can be slow if the list is long.
If you need a dump of individual elements in the list, you must set the depth of the dump context to 1 or greater.
Certain member functions of this class call global helper functions that must be customized for most uses of the CList class. See Collection Class Helpers in the “Macros and Globals” section.
For more information on using CList, see the article Collections in Visual C++ Programmer’s Guide.
#include <afxtempl.h>
Class Members | Base Class | Hierarchy Chart
Sample MFC Sample COLLECT
CList Class Members
Construction
CList | Constructs an empty ordered list. |
Head/Tail Access
GetHead | Returns the head element of the list (cannot be empty). |
GetTail | Returns the tail element of the list (cannot be empty). |
Operations
RemoveHead | Removes the element from the head of the list. |
RemoveTail | Removes the element from the tail of the list. |
AddHead | Adds an element (or all the elements in another list) to the head of the list (makes a new head). |
AddTail | Adds an element (or all the elements in another list) to the tail of the list (makes a new tail). |
RemoveAll | Removes all the elements from this list. |
Iteration
GetHeadPosition | Returns the position of the head element of the list. |
GetTailPosition | Returns the position of the tail element of the list. |
GetNext | Gets the next element for iterating. |
GetPrev | Gets the previous element for iterating. |
Retrieval/Modification
GetAt | Gets the element at a given position. |
SetAt | Sets the element at a given position. |
RemoveAt | Removes an element from this list, specified by position. |
Insertion
InsertBefore | Inserts a new element before a given position. |
InsertAfter | Inserts a new element after a given position. |
Searching
Find | Gets the position of an element specified by pointer value. |
FindIndex | Gets the position of an element specified by a zero-based index. |
Status
GetCount | Returns the number of elements in this list. |
IsEmpty | Tests for the empty list condition (no elements). |