typedef struct subscribeitem
{
char *cig_code;
char *cig_name;
int cig_quantity; //以此作为排序
}*Subitem;
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();
我想实现以结构中成员变量cig_quantity进行排序,如何实现
{
char *cig_code;
char *cig_name;
int cig_quantity; //以此作为排序
}*Subitem;
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();
我想实现以结构中成员变量cig_quantity进行排序,如何实现
解决方案 »
- 关于Combo Box的应用显示多行 VS2010
- 如何判断 是否已经打开了指定的文件夹
- 我做的状态栏为什么是失效的
- stdin 与 _read() _write()
- 问个傻B的问题。。怎样画一天Bézier线
- 如何获得程序生成CheckBox的选中状态,和取得它的文本值?
- DIB是与设备无关的位图,它与BMP有什么区别?编程上要注意些什么?
- 关于winzip的压缩文件问题!
- 谁知道图片识别方面的知识?
- 请问哪里能找到CCD,CMOS图象传感器原理的文章?
- 用FormView显示图片的OCX(界面大于IE窗口),当IE滚动时OCX显示混乱,求解!
- 用nbtstat获取网段内所有的主机的ip地址和MAC地址和主机名称存在的问题
参考其中的字体排序
{
return a1->cig_quantity>b1->cig_quantity;
}m_plist.sort(greater<Subitem>());
{
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(greater<Subitem>());//
for(iter=m_plist.begin();iter!=m_plist.end();iter++)
printf("%d\n",iter->cig_quantity);
getchar();
}如果结构体不用指针,则成功.
但用指针,则不行,比较好象是指针之间的比较