我們知道有各種各樣的資料結構,啥棧,隊列,樹之類的.不過其實這些用的都非常少,用的最多的是線性表.平常我們用的數組最是典型的線性表.我們可以像int [] arrp這樣簡單的定義一個數組.不過這是固定大小的.不夠靈活.所以出現了所謂的動態數組.
STL中的動態數組叫vector,MFC中類似的動態數組是CArray.它跟vector一樣也是一個模板類.由於數組嘛插入資料時效率較低,所以又有鏈表.
STL中的鏈表是list,MFC中類似的鏈表是CList(是一個雙鏈表)
CArray 簡單用法
CArray<int> ca;
ca.Add(11); //添加元素
ca.Add(33);
ca.InsertAt(1, 22); //在索引為1的地方插入元素22
ca.RemoveAt(1); //刪除索引為1的元素
ca.GetSize(); //得到數組長度
POSITION pos = ca.GetStartPosition(); //POSTION有點類似STL中的迭代器iterator.MFC裡沒迭代器
int val = ca[0];
ca.RemoveAll(); //刪除所有元素
CList簡單用法
CList<int> list;
list.AddHead(11); //頭部插入元素
list.AddHead(22);
list.AddTail(99); //頭部移除元素
list.AddTail(88);
list.RemoveHead();//刪除頭部元素
list.RemovTail();
int count = list.GetCount();
bool empty = list.IsEmpty();
int hVal = list.GetHead();
int tVal = list.GetTail();
POSITION pos = list.GetHeadPosition();
pos = list.GetTailPosition();
int val = list.GetAt(pos);
list.GetNext(pos); //pos移到下一位
pos = list.Find(88); //找到88所在位置