vector改成LIST

vector改为LIST?
C/C++ code
typedef struct tagDXFLine
{
    CPoint startPoint;
    CPoint endPoint;
}DXFLINE;

typedef std::vector<tagDXFLine>   CDXFLineList;


如果上面的vector 全部改为

typedef list<tagDXFLine> CDXFLineList;

下面的代码中用到vector要如何改呢?
C/C++ code

int TxtSize;
    TxtSize=m_mDXFTxtList.size();//有多少个文字
    int LineSize=0;
     CDXFLineList tempDXFLineList;//保存临时的线条
    m_mDXFTxtList.sort();
    BOOL bAdd = FALSE;
    list <tagDXFTxt>::iterator tempDXFTxtList;
    DXFLINE srcLine;
    m_myBufferList.clear();
    //文字进行排序
    for ( tempDXFTxtList = m_mDXFTxtList.begin();tempDXFTxtList != m_mDXFTxtList.end(); tempDXFTxtList++ )
    {

        CString test;
        test.Format(_T("%d\n%sx:%d\ny:%d\n"),tempDXFTxtList->Num,tempDXFTxtList->TxtContents,tempDXFTxtList->point.x,tempDXFTxtList->point.y);
        //AfxMessageBox(test);
        tempDXFLineList.clear();
        LineSize=m_myDXFLineList.size();//有多少条
        
        for (int i=0;i<LineSize;i++)
        {
            if ((tempDXFTxtList->point ==m_myDXFLineList.at(i).startPoint))
            {
                srcLine.startPoint = m_myDXFLineList.at(i).startPoint;
                srcLine.endPoint   = m_myDXFLineList.at(i).endPoint;
                tempDXFLineList.push_back(srcLine);
                m_myDXFLineList.erase(m_myDXFLineList.begin()+i);
                break;
            }else if(tempDXFTxtList->point == m_myDXFLineList.at(i).endPoint)
            {
                srcLine.startPoint = m_myDXFLineList.at(i).endPoint;
                srcLine.endPoint   = m_myDXFLineList.at(i).startPoint;
                tempDXFLineList.push_back(srcLine);
                m_myDXFLineList.erase(m_myDXFLineList.begin()+i);
                break;
            }
        
        }
    
    //AfxMessageBox(_T("3"));
        DWORD   t1   =   timeGetTime();
        int LineCount=m_myDXFLineList.size();
        for (int j=m_myDXFLineList.size()-1; j>=0; j--)
        {
            DXFLINE tempLine;
            int x2=tempDXFLineList.at(tempDXFLineList.size()-1).endPoint.x;
            int y2=tempDXFLineList.at(tempDXFLineList.size()-1).endPoint.y;
            int x1= m_myDXFLineList.at(j).startPoint.x;
            int y1= m_myDXFLineList.at(j).startPoint.y;    
            int endx1= m_myDXFLineList.at(j).endPoint.x;
            int endy1= m_myDXFLineList.at(j).endPoint.y;
            bAdd = FALSE;
            if ((m_myDXFLineList.at(j).startPoint==tempDXFLineList.at(tempDXFLineList.size()-1).endPoint))
            {
                tempLine.startPoint=m_myDXFLineList.at(j).startPoint;
                tempLine.endPoint=m_myDXFLineList.at(j).endPoint;
                tempDXFLineList.push_back(tempLine);
                m_myDXFLineList.erase(m_myDXFLineList.begin()+j);
                bAdd = TRUE;
            
            }else if (m_myDXFLineList.at(j).endPoint==tempDXFLineList.at(tempDXFLineList.size()-1).endPoint)
            {
                tempLine.startPoint=m_myDXFLineList.at(j).endPoint;
                tempLine.endPoint=m_myDXFLineList.at(j).startPoint;
                tempDXFLineList.push_back(tempLine);
                m_myDXFLineList.erase(m_myDXFLineList.begin()+j);
                bAdd = TRUE;
            }
            if (bAdd)
            {
                j=m_myDXFLineList.size();
            }
    
        }
        m_myBufferList.push_back(tempDXFLineList);
        DWORD   t2   =   timeGetTime(); 
        double   spend=(double)(t2-t1); 
        CString   msg;   
        msg.Format(_T("运行完成,一共花费时间为:%d毫秒"),(int)spend);   
    //    AfxMessageBox(msg);
    }


------解决方案--------------------
你的使用方式,似乎vector更好了。
------解决方案--------------------