7-37 模拟EXCEL排序 (25 分)(思路+详解+超时解决 兄弟们冲呀呀呀呀呀呀)(1)

}

bool sort_name( Node a, Node b ){

if( a.name == b.name ) //当名字相同时,按照id进行排序

return a.id < b.id;

return a.name < b.name;

}

bool sort_grade( Node a, Node b ){

if( a.grade == b.grade)//当成绩相同时,按照id进行排序

return a.id < b.id;

return a.grade < b.grade;

}

int main(){

int N,M;

cin >> N >> M;

//创建结构体数组

Node *node = new Node[N];

for( int i = 0; i < N; i++ ){

cin >> node[i].id >> node[i].name >> node[i].grade;

}

if( M == 1)

sort(node,node+N,sort_id);

if( M == 2)

sort(node,node+N,sort_name);

if( M == 3)

sort(node,node+N,sort_grade);

for( int i = 0; i < N; i++ ){

cout << node[i].id << ’ ’ << node[i].name << ’ ’ << node[i].grade << endl;

}

}

在这里插入图片描述

补充超时解决:

1.这个需要卡时间,多提交几次就还可以卡过去。

2.或则将cout cin 改成printf 和 scanf

这些都是我的做题经验,亲试有效,但如果还不行,那就回炉重造。重新构思路,重新编码,一旦你写出来,再怎么改还是原来的套路,很可能还是过不去。

四:总结和踩过的坑

========================================================================

这个题思路是我第一次这么写,很明显,不是我想出来的,我是学习大佬的。但是我还是自己做了遍,用的是map容器,其时用map是不对的,因为我一看题是排序,然后就没仔细读题,看了下输出和输入就写码了,结果很显然,有3个点是过不去的,因为这个题还说会出现重复的名字和成绩,在map容器当中他的键值是不允许重复的,一旦重复,就会发生覆盖。然后我就上网学习大佬的,果然有收获,这种做法,是真的牛逼。哈哈哈哈哈哈哈学到了哈哈哈。

五:记录失败的思考结果

==========================================================================

这是我用map做的,有3个点是过不去的。而且是无法修复的,仅此记录一下。

#include<bits/stdc++.h>

using namespace std;

int main(){

int N,M;

map<string,string>m1,m2;

map<string,string>:: iterator t;

cin >> N >> M;

for( int i = 0; i < N; i++ ){

string a,b,c;

cin >> a >> b >> c;

if(M == 1){

m1[a] = b;

m2[a] = c;

}

if(M == 2){

m1[b] = a;

m2[b] = c;

}

if(M == 3){

m1[c] = a;

m2[c] = b;

}

}

if( M == 1){

for( t = m1.begin(); t != m1.end(); t++ ){

cout << t->first << ’ ’ << t->second <<’ '<< m2[t->first] << endl;

}

}

if( M == 2){

for( t = m1.begin(); t != m1.end(); t++ ){

最后

对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

再分享一波我的Java面试真题+视频学习详解+技能进阶书籍

美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)

  • ){

最后

对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

再分享一波我的Java面试真题+视频学习详解+技能进阶书籍

[外链图片转存中…(img-ohsGnKGr-1714257236199)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值