CList 动态链表的学习笔记

时间: 2023-07-10 admin IT培训

CList 动态链表的学习笔记

CList 动态链表的学习笔记

int Index = 0;CList <CPoint , CPoint &> listPoint;//判断是否为空BOOL bRet = listPoint.IsEmpty();//循环插入<x y>数据for (Index = 0; Index < 100; Index++){CPoint pt(Index , Index);listPoint.AddTail(pt);}//获取列表元素总数int nGetCount = listPoint.GetCount();int nGetSize = listPoint.GetSize();//获取列表头元素的位置POSITION pi = listPoint.GetHeadPosition();//获取列表尾元素的位置pi = listPoint.GetTailPosition();//通过RemoveAt函数 删除指定索引5的元素 删除之后 类会自动修改表头和表尾地址listPoint.RemoveAt(listPoint.FindIndex(5));//通过GetAt函数获取索引为5的值 因为不是数组 在内存中的位置并不是连续的 所以不可以通过下标读取或设置CPoint getpt = (0,0);getpt = listPoint.GetAt(listPoint.FindIndex(5)); //通过FindIndex函数返回 POSITION 类型//通过SetAt函数设置索引为10的值getpt = (321,321);listPoint.SetAt(listPoint.FindIndex(10),getpt);//遍历链表pi = listPoint.GetHeadPosition();for (Index = 0; Index < listPoint.GetCount(); Index++){getpt = listPoint.GetNext(pi);}//删除链表中所有元素 清空所有的pNext pPrev data数据listPoint.RemoveAll();//判断列表元素总数nGetCount = listPoint.GetCount();