STL之sort:vector排序
#include <algorithm> #include <vector> using namespace std; typedef struct BASESTRUCT { int nID1; int nID2; string strname; } BaseStruct, *LPBaseStruct; BOOL MyCompareFun(BaseStruct& a, BaseStruct& b) { if(a.nID1 == b.nID1) return a.nID2>b.nID2; else return a.nID1>b.nID1; } void main() { vector<BASESTRUCT> vt; BaseStruct bs; for(int i=0; i<1000; i++) { bs.nID1 = rand()%100; bs.nID2 = rand()%100; vt.push_back(bs); } std::sort(vt.begin(),vt.end(),MyCompareFun); }<PRE></PRE>