CList中RemoveAt的使用
#include <iostream>
#include <afxtempl.h>
using namespace std;
int main()
{
POSITION tmpPos;
CList<int,int> m_clist;
for (int i = 0;i <= 10;i++)
{
m_clist.AddTail(i);
}
POSITION pos = m_clist.GetHeadPosition();
while (pos)
{
int nCur = m_clist.GetAt(pos);
if (nCur % 2)//删除偶数
{
tmpPos = pos;
m_clist.GetNext(pos);
m_clist.RemoveAt(tmpPos);
}
else
{
m_clist.GetNext(pos);
}
}
pos = m_clist.GetHeadPosition();
while (pos)
{
cout<<m_clist.GetAt(pos);
m_clist.GetNext(pos);
}
system("pause");
}
使用STL中的set,根据类中某成员,对类进行排序
#include <iostream>
#include <string>
#include <set>
using namespace std;
class CID{
public:
int num;
bool operator<(const CID& ID)const //给出operator<()的定义,以便在插入容器时排序,注意一定要有两个Const
{
return num <= ID.num; //从小到大排序
}
};
int main()
{
CID ID[3]={{3},{2},{4}};
set<CID> st;
st.insert(ID[0]);
st.insert(ID[1]);
st.insert(ID[2]);
set<CID>::iterator it=st.begin();
for (;it!=st.end();it++)
{
cout<<(*it).num<<" "<<endl;
}
system("pause");
return 0;
}