设计一个英雄的结构体,包括成员姓名,年龄,性别,创建结构体数组,数组中存放5名英雄。
使用冒泡排序的算法,将数组中的英雄按年龄进行升序排序,最终打印排序后的结果。
实例代码:
#include<iostream>
using namespace std;
/*
设计一个英雄的结构体,包括成员姓名,年龄,性别,创建结构体数组,数组中存放5名英雄。
使用冒泡排序的算法,将数组中的英雄按年龄进行升序排序,最终打印排序后的结果。
*/
//定义名为hero的结构体
struct hero {
string name;
int age;
char sex;
};
//定义一个无返回值的函数,使用冒泡排序算法实现年龄的排序
void bubbleSort(struct hero *h,int len)
{
for (int i = 0; i < len-1; i++)
{
for (int j=0; j < len - i - 1; j++)
{
if (h[j].age > h[j + 1].age)
{
struct hero h2;
h2 = h[j];
h[j] = h[j + 1];
h[j + 1] = h2;
}
}
}
}
//定义一个打印的函数,实现年龄顺序从小到大的打印
void printAge(struct hero *h,int len)
{
for (int i = 0; i < len; i++)
{
cout <<"名字:" << h[i].name <<"年龄:" << h[i].age <<"性别:" << h[i].sex << endl;
}
}
int main()
{
struct hero h1[5] = {
{"刘备",23,‘m‘},
{"关羽",22,‘m‘},
{"张飞",20,‘m‘},
{"赵云",21,‘m‘},
{"貂蝉",19,‘f‘},
};
int len = 5;
bubbleSort(h1, len);
printAge(h1, len);
return 0;
}
?
输出结果: