c++结构体数组和冒泡排序的应用
程序员文章站
2022-06-10 10:43:04
...
题目
设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。
通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
/*设计一个英雄的结构体,包括成员姓名,年龄,性别;创建结构体数组,数组中存放5名英雄。
通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
*/
#include<iostream>
#include<cstring>
using namespace std;
//程序编辑步骤:
//1.建立英雄结构体
struct hero{
string name;
int age;
string sex;
};
//3.冒泡排序对数组的年龄属性进行升序
void maopao(hero h[],int len){
for(int i=0;i<len-1;i++){
for(int j=0;j<len-1-i;j++){
if(h[j].age>h[j+1].age)
swap(h[j].age,h[j+1].age);
}
}
}
int main(){
//2.创建数组存放英雄
hero h[]={
{"刘备",23,"男"},
{"关羽",22,"男"},
{"张飞",20,"男"},
{"赵云",21,"男"},
{"貂蝉",19,"男"},
};
int len=sizeof(h)/sizeof(h[0]);
maopao(h,len);
//4.输出排序后的结果 (也可以弄个函数)
for(int i=0;i<len;i++){
cout<<"姓名:" <<h[i].name<<"年龄:"<<"性别:"<<h[i].sex<<"年龄:"<<h[i].age<<endl;
}
return 0;
}