GetHead
| 返回列表中的首元素(列表不能为空) |
GetTail | 返回列表中的尾元素(列表不能为空) |
RemoveHead
| 从列表首删除元素 |
RemoveTail | 从列表尾删除元素 |
AddHead | 在列表首增加一个元素或另一个列表的所有元素(并产生一个新的列表首) |
AddTail | 在列表尾增加一个元素或另一个列表的所有元素(并产生一个新的列表尾) |
RemoveAll | 删除列表中所有的元素 |
GetHeadPosition
| 返回列表中首元素的位置 |
GetTailPosition | 返回列表中尾元素的位置 |
GetNext | 获取循环遍历中的下一个元素 |
GetPrev | 获取循环遍历中的前一个元素 |
GetAt
| 获取指定位置的元素 |
SetAt | 设置指定位置的元素 |
RemoveAt | 从列表中删除指定位置的元素 |
InsertBefore
| 在给定位置之前新插入一个元素 |
InsertAfter | 在给定位置之后新插入一个元素 |
Find
| 获取由指针值指定元素的位置 |
FindIndex | 获取由以零尾基数索引指定元素的位置 |
GetCount
| 返回列表中的元素数 |
IsEmpty | 测试是否为空列表(没有元素) |
Graph *graph1 = new Graph;
Graph *graph2 = new Graph;
Graph *graph3 = new Graph;//Graph为自己建的类
graph1->data = 111;
graph2->data = 222;
graph3->data = 333;
oblist.AddTail(graph1);
oblist.AddTail(graph2);
oblist.AddTail(graph3);
oblist.RemoveAt(oblist.FindIndex(1));
c = oblist.GetCount();
TRACE("c = %d\n", c); //输出2
Graph *p = (Graph*)oblist.GetAt(oblist.FindIndex(0));
TRACE("data = %d\n", p->data); //输出111
p = (Graph*)oblist.GetAt(oblist.FindIndex(1));
TRACE("data = %d\n", p->data); //输出333,即在索引为1的对象被删除后,索引为2的对象顶上去变为索引1的对象,索引2则变为不可访问
pos1 = oblist.GetHeadPosition();
oblist.RemoveAt(pos1); //删除掉第一个元素
p = (Graph*)oblist.GetAt(oblist.FindIndex(0));
TRACE("data = %d\n", p->data); //输出333,此时oblist只剩下333这个元素了