日期排序 deque

本文介绍了一个使用C++与标准模板库(STL)进行结构体排序的例子。通过定义包含日期字段的结构体,并实现比较函数,演示了如何利用deque容器存储这些结构体并使用sort函数进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

        }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值