«August 2008»
12
3456789
10111213141516
17181920212223
24252627282930
31
 导 航
首页(14)
ARM(7)
LINUX(11)
vc++(0)
dotnet(0)
论坛新帖

 公 告
暂无公告...

 日 志
·Linux应用程序开发续(...
·Linux应用程序开发(转)
·sortlinklist
·linklist
·vector sort
·VC++ file 操作
·fileSystemWatcher
·ARM基础知识二
·ARM基础知识一
·ARM入门

 评 论
·good!
·WO  DING ...
·"本书"??所讨...

 链 接

http://blog.chinaunix.ne

http://www.ringkee.com/


 统 计
博客名称:NOTE
日志总数:14
评论数量:11
访问次数:13662
建立时间:2007年3月14日
 [vc++]vector sort
 毅 发表于 2007-12-13 23:39:00

#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;
}

 阅读全文(378) | 回复(0)


发表点评:
0
顶一下
昵 称: 匿名
验证码: 2321