对vector成员进行排序

对vector成员进行排序

#include "stdafx.h"
#include "vector"
#include <algorithm> 
using namespace std;


class TappD
{
public:
unsigned int appid;
unsigned int d;
unsigned int D;
public:


TappD(unsigned int id, unsigned int in_d, unsigned int in_D);
    bool operator <(TappD tmp)
{
return ((this->d < tmp.d)
   || (this->d == tmp.d  && this->D < tmp.D)
|| (this->d == tmp.d  && this->D == tmp.D && this->appid < tmp.appid));
}
protected:
private:
};


// bool TappD::operator <(TappD tmp)
// {
// return this->d < tmp->d;
// }


TappD::TappD(unsigned int id, unsigned int in_d, unsigned int in_D)
{
appid = id;
d = in_d;
D = in_D;
}


class TappDManager
{
public:
vector<TappD> app_buff;
void insert(TappD inApp);
void sortApp();
void dispBuff();
void find(TappD inApp);
protected:
private:
};


void TappDManager::insert(TappD inApp)
{
app_buff.push_back(inApp);
sort(app_buff.begin(), app_buff.end());
}


void TappDManager::dispBuff()
{
vector<TappD>::iterator it;
unsigned int i = 1;
for (it = app_buff.begin(); it != app_buff.end(); it++,i++)
{
printf("app[%d] member appid is %d, app's d is %d, app's D is %d \n",i,it->appid,it->d,it->D);
}

}






int main(int argc, char* argv[])
{
TappD a(1, 10, 20);
TappD b(2, 20, 30);
TappD c(3, 30, 40);
TappD d(4, 40, 50);


TappDManager M;
M.insert(b);
M.dispBuff();
M.insert(a);
M.dispBuff();
M.insert(c);
M.dispBuff();
M.insert(d);
M.dispBuff();
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值