日期排序 deque

来源:互联网 发布:windows sdk 7.1 编辑:程序博客网 时间:2024/06/06 05:03

struct MyStruct

{

        AnsiString Date;

        TDate ToDate()const{return StrToDate(Date);}

};

bool aa(const MyStruct &r,const MyStruct &t)

{

return r.ToDate() < t.ToDate();

}

//#include<iostream>

//#include<string>

//#include<deque>

#include<algorithm>

void __fastcall TMainForm::Sort1Click(TObject *Sender)

{

        print->Clear();

        deque<MyStruct> z;

        MyStruct m;

        DateSeparator = '/';         //设置日期分隔符

        m.Date = "2010/06/11";

        z.push_back(m);

        m.Date = "2010/07/11";

        z.push_back(m);

        m.Date = "2010/05/2";

        z.push_back(m);

        m.Date = "2010/06/11";

        z.push_back(m);

        m.Date = "2011/06/11";

        z.push_back(m);

        deque<MyStruct>::iterator i = z.begin();

        while(i != z.end())

        {

                print->Lines->Add(i[0].Date);

                ++i;

        }

 

        print->Lines->Add("-------------Sorted------------");

        sort(z.begin(),z.end(),aa);

        i = z.begin();

        while(i != z.end())

        {

                print->Lines->Add(i[0].Date);

                ++i;

        }

 

}