|
#include "stdafx.h" #include <iostream> #include <algorithm> #include <functional> #include <vector> #include<string> using namespace std; string int2str( int num); struct para { string name; string value; }; class CImage { public: //myclass(int a, int b):first(a), second(b){} string bb; vector<para> bvec; bool operator <(const CImage &m)const { return this->bb < m.bb;} //bool less_second(const b & m1, const b & m2); }; class CSeries { public: string aa; vector<para> seriesvec; vector<CImage> bvec; bool operator <(const CSeries &m)const { return this->aa < m.aa;} }; class CStudy{ public: string cc; vector<para> studyvec; vector<CSeries> bvec; }; int main() { CImage myImage; CSeries mySeries; CStudy myStudy; myStudy.cc="999"; para p; p.name="studyUID"; p.value ="100"; myStudy.studyvec.clear(); myStudy.studyvec.push_back(p); for(int i=9;i>0;i--) { mySeries.aa="100"+int2str(i); p.name="seriesUID"; p.value ="100"; mySeries.seriesvec.clear(); mySeries.seriesvec.push_back(p); mySeries.bvec.clear(); for(int i =9 ; i > 0 ; i --){ myImage.bb="10"+int2str(i); p.name="b"+int2str(i); p.value=int2str(i); myImage.bvec.clear(); myImage.bvec.push_back(p); mySeries.bvec.push_back(myImage); } sort(mySeries.bvec.begin(),mySeries.bvec.end()); myStudy.bvec.push_back(mySeries); } sort(myStudy.bvec.begin(),myStudy.bvec.end()); return 0 ; } string int2str(int num) { if (num == 0 ) return " 0 " ; string str = "" ; int num_ = num > 0 ? num : - 1 * num;
while (num_) { str = ( char )(num_ % 10 + 48 ) + str; num_ /= 10 ; } if (num < 0 ) str = " - " + str;
return str; } |