现在的位置: 首页 > 综合 > 正文

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

2013年05月25日 ⁄ 综合 ⁄ 共 1006字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.