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