1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #include <iostream>
- //案例描述:
- //设计一个英雄的结构体,包括成员姓名、年龄、性别;创建结构体数组,数组中存放五名英雄。
- //通过冒泡排序的方法,将数组中的英雄按照年龄进行升序排序,最终打印排序后的结果。
- //五名英雄信息如下:
- //{ "刘备" ,23,"男" }
- //{ "关羽" ,22,"男" }
- //{ "张飞" ,20,"男" }
- //{ "赵云" ,21,"男" }
- //{ "貂蝉" ,19,"男" }
- //英雄的结构体
- struct Hero
- {
- //姓名
- std::string name;
- //年龄
- int age;
- //性别
- std::string sex;
- };
- //实现冒泡排序,年龄升序排列
- void bubbleSort(struct Hero heroArray[], int len)
- {
- for (int i = 0; i < len - 1; i++)
- {
- for (int j = 0; j < len - i - 1; j++)
- {
- //如果j下标的元素年龄 大于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++)
- {
- std::cout << "英雄的姓名:" << heroArray[i].name << "年龄:" << heroArray[i].age << "性别:" << heroArray[i].sex << std::endl;
- }
- }
- int main()
- {
-
- //2、创建一个数组存放五名英雄
- struct Hero heroArray[5] =
- {
- { "刘备" ,23,"男" },
- { "关羽" ,22,"男" },
- { "张飞" ,20,"男" },
- { "赵云" ,21,"男" },
- { "貂蝉" ,19,"女" },
- };
- int len = sizeof(heroArray) / sizeof(heroArray[0]);
- //for (int i = 0; i < len; i++)
- //{
- // std::cout << "英雄的姓名:" << heroArray[i].name << "年龄:" << heroArray[i].age << "性别:" << heroArray[i].sex << std::endl;
- //}
- //3、对数组进行排序,按照年龄进行升序排列
- bubbleSort(heroArray, len);
- //4、将排序后的结果打印输出
- printHero(heroArray, len);
- system("pause");
- return 0;
- }
|