网站建设的总结与改进,石油网页设计与网站建设,做全屏的网站 一屛多高,专门做ppt背景的网站有哪些借鉴jinzun2000大佬的思路我做出了一些注释和优化重点1动态数组存储class Apple类2map匹配篮子号和苹果id果园采摘了n个苹果#xff0c;分别放在若干个篮筐中。现给出n个苹果所在篮筐的情况#xff0c;请找出每个篮筐中重量最重的苹果。定义一个苹果类Apple#xff0c;有编号…借鉴jinzun2000大佬的思路我做出了一些注释和优化重点1动态数组存储class Apple类2map匹配篮子号和苹果id果园采摘了n个苹果分别放在若干个篮筐中。现给出n个苹果所在篮筐的情况请找出每个篮筐中重量最重的苹果。定义一个苹果类Apple有编号id、重量weight、直径diameter成员变量。输入格式:首先输入一个整型数n1n999999表示n个苹果。紧跟着n行输入每一行格式为篮筐号苹果编号id重量weight直径diameter。篮筐号为整数取值区间为[1,999999]id为字符串weight、diameter为正整数。输出格式:按篮筐号从小到大排序输出每个篮筐中重量最重的苹果信息。题目保证每个篮筐中只有一个重量最重的苹果。输入样例7 1 N000001 175 77 2 N000002 180 83 2 N000003 160 66 1 N000004 160 63 1 N000005 165 68 4 N000006 183 85 2 N000007 170 74输出样例1 N000001 175 77 2 N000002 180 83 4 N000006 183 85#include bits/stdc.h using namespace std; class Apple { public: Apple(string id, int w, int d) { //创建赋值 a_id id; weight w; diameter d; } void print_fun();//输出 //定义 string a_id; int weight, diameter; }; int re_Apple(int n, string s, vectorApple *A) { // 通过苹果id找苹果在vector中的位置 for (int i 0; i n; i) {//遍历vector if (s ((*A)[i].a_id)) { return i; } } return -1;//没找到 } void Apple::print_fun() { cout this-a_id ; cout this-weight ; cout this-diameter endl; } int main() { int N; cin N; vector Apple v; mapint, string Map;//[框子号苹果id] for (int i 1; i N; i) { string id; int w, d, basket; cin basket id w d; v.push_back(Apple(id, w, d)); if (Map.find(basket) Map.end()) {//没找到 Map[basket] id;//若basket不存在,则创建 } else { //baseket 已存在 if (w v[re_Apple(v.size(), Map[basket], v)].weight)//当前苹果和篮子中现存最大苹果相比较 Map[basket] id; } } for (auto e : Map) { cout e.first ; v[re_Apple(N, e.second, v)].print_fun(); } return 0; }看过一个vectorint basket (9999991)的代码int re_Apple(int n, string s, vectorApple *A) { // 通过苹果id找苹果在vector中的位置for (int i 0; i n; i) {//遍历vectorif (s ((*A)[i].a_id)) {return i;}}return -1;//没找到}这一段功能函数优化了很多负责通过苹果的id Map[basket](e.second)来找寻这个苹果在vector中存储的位置省空间省力if (w v[re_Apple(v.size(),Map[basket], v)].weight)//当前苹果和篮子中现存最大苹果相比较这个思路是不是让人眼前一亮呢psmap.find()找寻key值 键值升序哦若想找value则1for (auto it myMap.begin(); it ! myMap.end(); it) {if (it-second target_value) {cout 找到value target_value 对应的key it-first endl;break;}}2auto it find_if(起始迭代器, 结束迭代器, 条件函数);#include algorithmbool isApple(const pairint, string element) {return element.second apple;}// 使用auto it find_if(myMap.begin(), myMap.end(), isApple);