16,472
社区成员
发帖
与我相关
我的任务
分享
struct HD_Info
{
int nHDID;
CString strHDProgramNo;
CString strHDProgramName;
int nHDProgramType;
};
vector <HD_Info> m_vecPro;
m_vecPro[0]={nHDID=308,strHDProgramNo = "0",strHDProgramName="中央一台",nHDProgramType = 25};
m_vecPro[1]={nHDID=301,strHDProgramNo = "1",strHDProgramName="中央二台",nHDProgramType = 25};
m_vecPro[2]={nHDID=302,strHDProgramNo = "2",strHDProgramName="中央三台",nHDProgramType = 25};
m_vecPro[3]={nHDID=303,strHDProgramNo = "3",strHDProgramName="深圳卫视",nHDProgramType = 25};
.............................................................................................
m_vecPro[0]={nHDID=301,strHDProgramNo = "1",strHDProgramName="中央二台",nHDProgramType = 25};
m_vecPro[1]={nHDID=302,strHDProgramNo = "2",strHDProgramName="中央三台",nHDProgramType = 25};
m_vecPro[2]={nHDID=303,strHDProgramNo = "3",strHDProgramName="深圳卫视",nHDProgramType = 25};
m_vecPro[3]={nHDID=308,strHDProgramNo = "0",strHDProgramName="中央一台",nHDProgramType = 25};
.............................................................................................
bool lessmarkHD(const HD_Info& s1,const HD_Info& s2)
{
return s1.nHDID < s2.nHDID;
}
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
struct HD_Info
{
int nHDID;
string strHDProgramNo;
string strHDProgramName;
int nHDProgramType;
};
HD_Info info[]=
{
{308,"0","中央一台",25},
{301,"1","中央二台",25},
{302,"2","中央三台",25},
{303,"3","深圳卫视",25}
};
vector <HD_Info> m_vecPro;
bool lessmarkHD(const HD_Info& s1,const HD_Info& s2)
{
return s1.nHDID < s2.nHDID;
}
int _tmain(int argc, _TCHAR* argv[])
{
for(int i=0; i<sizeof(info)/sizeof(info[0]); i++)
{
m_vecPro.push_back(info[i]);
}
sort(m_vecPro.begin(),m_vecPro.end(),lessmarkHD);
for(vector<HD_Info>::const_iterator iter = m_vecPro.begin(); iter != m_vecPro.end(); iter++)
{
cout<<iter->nHDID<<", "<<iter->strHDProgramNo<<", "<<iter->strHDProgramName<<", "<<iter->nHDProgramType<<endl;
}
return 0;
}
#include <vector>
#include <algorithm>
#include <functional>
std::sort(HD_Pro.begin(),HD_Pro.end(),lessmarkHD);
bool lessmarkHD(const HD_Info& s1,const HD_Info& s2)
{
return s1.nHDID < s2.nHDID;
}
#include <vector>
#include <algorithm>
#include <functional>
std::sort(HD_Pro.begin(),SD_Pro.end(),lessmarkHD);
bool lessmarkHD(const HD_Info& s1,const HD_Info& s2)
{
return s1.nHDID < s2.nHDID;
}
为什么会不对?