博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MultiSet链表自定义结构体排序
阅读量:4357 次
发布时间:2019-06-07

本文共 1533 字,大约阅读时间需要 5 分钟。

STL越用越上手,刚刚刷HDU遇到一道需要排序的自定义结构体的题目(HDU1434)

#include 
#include
using namespace std;struct P{ int rp; char name[32]; P() { this->rp=0; memset(this->name,0,sizeof(this->name)); }};struct compare{ bool operator () (P p1,P p2) { if(p1.rp==p2.rp) { return strcmp(p1.name,p2.name)<0; } else { return p1.rp>p2.rp; } }};int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { multiset
h[10001]; for(int i=1;i<=n;i++) { int j; scanf("%d",&j); while(j--) { P tmp; scanf("%s%d",tmp.name,&tmp.rp); h[i].insert(tmp); } } for(int i=0;i
::reverse_iterator riter=h[x].rbegin(); //printf("%s\n",(*riter).name); //multiset
::iterator iter(riter.base()); multiset
::iterator iter=h[x].begin(),ans; while(iter!=h[x].end()) { ans=iter; iter++; } printf("%s\n",(*ans).name); h[x].erase(ans); break; } case 'N': { scanf("%d%s%d%*c",&x,tmp.name,&tmp.rp); h[x].insert(tmp); break; } default://join { int y; scanf("%d%d%*c",&x,&y); for(multiset
::iterator iter=h[y].begin();iter!=h[y].end();iter++) { h[x].insert(*iter); } h[y].clear(); break; } } } } return 0;}

转载于:https://www.cnblogs.com/eslizn/archive/2012/09/24/2700455.html

你可能感兴趣的文章
类型转换(2)
查看>>
BZOJ 1016--[JSOI2008]最小生成树计数(kruskal&搜索)
查看>>
326. Power of Three
查看>>
Debugging Custom SharePoint Timer Jobs
查看>>
实验四 恶意代码技术
查看>>
让 Winform 窗口悬浮的简单方式
查看>>
TcxGrid
查看>>
Python——day02
查看>>
微软的官方技术文档
查看>>
ubuntu
查看>>
一款JavaScript开发的扫雷小游戏
查看>>
动态轮播图
查看>>
win7和centos7双系统--转
查看>>
mysql5.1安装图解
查看>>
Android 连接windows电脑抓取日志信息
查看>>
超强、超详细Redis数据库入门教程
查看>>
工具类编写规范
查看>>
SQL中根据汉字的拼音首字母模糊查询
查看>>
salt未持久化保存导致应用启动时候的网络请求失败(没有权限)
查看>>
个人常用linux 命令
查看>>