qvector 结构体排序_C++结构体的应用_YCOJ

9266fe98144aa7db234d6a85896f33ad.png

结构体是一种自定义的东西,用struct来定义。在他里面,

可以装许多东西,比如int,string,char,bool等等等等。

如:

struct a{

string name;

int a;

int b;

};

……

a s;

cin >> s.name;

代码示范:

例题:

身高排序

Description

有 n 个同学排成一排,从左到右依次编号为 1~n。

现在给出了这个 n 位同学的身高,但是并不是按照高矮排序的。现在这些同学需要按照身高从矮到高的顺序重新排列,矮的同学在左边,高的同学在右边。如果两个同学身高相同,那么这两个同学的相对顺序不应该发生变化。

请你输出排序以后从左到右同学的编号。

Input

输入一个行一个整数 n(1≤n≤1000)。

接下来一行输入 n 个整数,依次表示从左到右的同学的身高,每个同学身高小于等于 300。

Output

一行输出 n 个整数,两个数中间用空格隔开,行末不要有多余空格。

表示重新排列以后从左到右的同学的编号。

Sample Input 1

5

156 178 145 190 156

Sample Output 1

3 1 5 2 4

解题代码:

cpp

#include

#include

using namespace std;

struct student{

int h;

int name;//name=编号

};//定义结构体

bool cmp(student x,student y){

return x.h

}//排序函数

int main(){

int n,b=0;

cin >>n;//人数

student a[n];//定义student变量a

for (int i=0;i

b++;

a[i].name=b;

}

for (int i=0;i

cin >>a[i].h;

}

stable_sort(a,a+n,cmp);//更稳定的sort排序

for(int i=0;i<=n-2;i++){

cout << a[i].name<

}

cout << a[n-1].name;//输出最后一个

return 0;

}

注:结构体排序需要写一个排序函数。

这就是结构体。

标准结尾:

4a28265b2995b171239431fe750eb545.png

本人从事c++在线教育十年工作经验现在精心整理了一套从小白到项目实践开发各种学习资料如果你想学想加入我们请关注我私信“编程”可以领取学习资料!!!记住一定要私信才有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值