1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#include <iostream>// 输出流库 #include <string>// 字符串头文件 using namespace std;//使用标准命名空间 //课程:9.8 结构体案例二 //创建英雄结构体 struct Hero { string name;//姓名 int age;//年龄 string sex;//性别 }; //创建排序函数 void bubb1eSort(struct Hero heroArray[], int len) { //外部循环次数 = 元素个数 - 1 for (int i = 0; i < len - 1; i++) { //嵌套循环,执行数据互换,次数 = 元素个数 - 当前轮数 - 1 for (int j = 0; j < len - i - 1; j++) { //判断:如果heroArray[j] > heroArray[j + 1]将两个元素数据交换 if (heroArray[j].age > heroArray[j + 1].age) { //创建英雄临时结构进行调换 struct Hero temp = heroArray[j]; heroArray[j] = heroArray[j + 1]; heroArray[j + 1] = temp; } } } } //创建打印函数 void printHero(struct Hero heroArray[], int len) { for (int i = 0; i < len; i++) { cout << "姓名:" << heroArray[i].name << " 年龄:" << heroArray[i].age << " 性别:" << heroArray[i].sex << endl; } } int main() { //1、设计英雄结构体 //2、创建数组存放5名英雄 struct Hero heroArray[] = { {"刘备",23,"男"}, {"关羽",22,"男"}, {"张飞",20,"男"}, {"赵云",21,"男"}, {"貂蝉",19,"女"} }; //取数组长度 int len = sizeof(heroArray) / sizeof(heroArray[0]); cout << "排序前的:" << endl; printHero(heroArray, len); //3、对数组进行排序,按照年龄进行升序排序 bubb1eSort(heroArray,len); //4、将排序后结果打印输出 cout << "排序后的:" << endl; printHero(heroArray, len); system("pause");// 控制台暂停,等待下一步操作 return 0;// 结束返回值:0 } |
09.8 C++结构体案例二
未经允许不得转载:Ai分享 » 09.8 C++结构体案例二