STL-有关list元素为结构体,而按其中一元素排序问题

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


typedef struct subscribeitem
{
   char *cig_code;
   char *cig_name;
   int cig_quantity;  //以此作为排序
public:
 bool operator > (const subscribeitem& b1) const
 {
  return cig_quantity>b1.cig_quantity;
 }
}Subitem;

 

 

void main()
{
 list <Subitem> ::iterator iter;
 list <Subitem> m_plist;
 Subitem item1;
 //item1 = new subscribeitem;
 item1.cig_code="123456";
 item1.cig_name="huanghelou";
 item1.cig_quantity=10;
 m_plist.push_back(item1);

 Subitem item2;
 //item2 = new subscribeitem;
 item2.cig_code="123457";
 item2.cig_name="longjinglong";
 item2.cig_quantity=30;
 m_plist.push_back(item2);

 Subitem item3;
 //item3 = new subscribeitem;
 item3.cig_code="123458";
 item3.cig_name="zhongmei";
 item3.cig_quantity=20;
 m_plist.push_back(item3);
 //m_plist.sort(comp());
 for(iter=m_plist.begin();iter!=m_plist.end();iter++)
 printf("%d/n",iter->cig_quantity);
 m_plist.sort(greater<Subitem>());//
 for(iter=m_plist.begin();iter!=m_plist.end();iter++)
 printf("%d/n",iter->cig_quantity);
 getchar();
//return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值