今天也是来发一篇结构体的详解
1.结构体通式
结构体是用struct来定义的,代码如下:
struct 结构名{
变量类型 成员变量1;
......
变量类型 成员变量n;
}结构体变量[数组大小];
2.结构体定义示例
代码如下(在这个时候其实非常简单,但到了排序时会非常难(作者当时想砸电脑)):
#include<bits/stdc++.h>
using namespace std;
struct stu{
string name;
int id;
}a[105];
int main(){
int n;
cin>>n;
int i;
for(i=1;i<=n;i++){
cin>>a[i].name>>a[i].id;
}
for(i=1;i<=n;i++){
cout<<a[i].name<<"\n";
}
return 0;
}
3.巨头(结构体排序)
终于到最终极终极终极神话结构体排序(提前说一下这个东西是真***的damn但我会一直帮你避坑),代码如下:
(可以翻看我之前发的sort排序)
#include<bits/stdc++.h>
using namespace std;
struct stu{
string name;
int id;
}a[105];
bool cmp(const stu&a,const stu&b){//注意这里一定要把它定义成常量
return a.id<b.id;//降序为>
}
int main(){
int n;
cin>>n;
int i;
for(i=1;i<=n;i++){
cin>>a[i].name>>a[i].id;
}
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++){
cout<<a[i].name<<"\n";
}
return 0;
}