HDUOJ2648 容器的使用之map

it2024-10-19  17

1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <cstdlib> 6 #include <algorithm> 7 #include <vector> 8 #include <stack> 9 #include <queue> 10 #include <cassert> 11 #include <set> 12 #include <sstream> 13 #include <map> 14 using namespace std ; 15 #ifdef DeBUG 16 #define bug assert 17 #else 18 #define bug // 19 #endif 20 #define zero {0} 21 struct shop 22 { 23 string name; 24 int price; 25 }; 26 map<string,int>a; 27 map<string,int>::iterator it; 28 int main() 29 { 30 #ifdef DeBUG 31 freopen("C:\\Users\\Sky\\Desktop\\1.in","r",stdin); 32 #endif 33 34 string m; 35 int price; 36 int n; 37 int t; 38 int d; 39 int sum=0; 40 int rank=1; 41 int i,j,k; 42 char mm[40]; 43 while(scanf("%d",&n)!=EOF) 44 { 45 for(i=0;i<n;i++) 46 { 47 scanf("%s",mm); 48 a[mm]=0; 49 } 50 scanf("%d",&t); 51 for(i=0;i<t;i++) 52 { 53 for(j=0;j<n;j++) 54 { 55 scanf("%d%s",&d,mm); 56 a[mm]+=d; 57 if(strcmp(mm,"memory")==0) 58 { 59 sum=a[mm]; 60 } 61 } 62 for(it=a.begin();it!=a.end();it++) 63 { 64 if(it->second>sum) 65 rank++; 66 } 67 printf("%d\n",rank); 68 rank=1; 69 } 70 a.clear(); 71 } 72 return 0; 73 } View Code

  

一、map的说明  1   头文件   #include   <map>     2   定义   map<string,   int>   my_Map;   或者是typedef     map<string,   int>   MY_MAP;   MY_MAP   my_Map;     3   插入数据   (1)   my_Map["a"]   =   1; //a也会插入其中  (2)   my_Map.insert(map<string,   int>::value_type("b",2));   (3)   my_Map.insert(pair<string,int>("c",3));   (4)   my_Map.insert(make_pair<string,int>("d",4));     4   查找数据和修改数据   (1)   int   i   =   my_Map["a"];             my_Map["a"]   =   i;   (2)   MY_MAP::iterator   my_Itr;             my_Itr.find("b");             int   j   =   my_Itr->second;             my_Itr->second   =   j;   不过注意,键本身是不能被修改的,除非删除。     5   删除数据   (1)   my_Map.erase(my_Itr);   (2)   my_Map.erase("c");   还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。     6   迭代数据   for   (my_Itr=my_Map.begin();   my_Itr!=my_Map.end();   ++my_Itr)   {}     7   其它方法   my_Map.size()               返回元素数目   my_Map.empty()       判断是否为空   my_Map.clear()           清空所有元素

转载于:https://www.cnblogs.com/Skyxj/p/3194314.html

相关资源:数据结构—成绩单生成器
最新回复(0)