(C++)按照英雄年齡從小到大進行排序(結構體、冒泡排序)

按照英雄的年齡從小到大進行排序
(冒泡排序、結構體)

#include<iostream>
using namespace std;
#include<string>

struct Hero
{
	string name;
	int age;
	string sex;
};
//1.設計英雄結構體
struct Hero heroArray[5] = {
	{ "劉備",23,"男" },
	{ "關羽",22,"男" },
	{ "張飛",20,"男" },
	{ "趙雲",21,"男" },
	{ "貂蟬",19,"女" }
};
void bubbleSort(struct  Hero heroArray[], int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - i - 1; j++)
		{
			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)
{
	cout << "排序後輸出" << endl;
	for (int i = 0; i < len; i++)
	{
		cout << "姓名:" << heroArray[i].name << "年齡:"
			<< heroArray[i].age << "性別:"
			<< heroArray[i].sex << endl;
	}
}
int main()
{

	//2.創建數組存放五名英雄
	
	int len = sizeof(heroArray) / sizeof(heroArray[0]);
	cout << "排序前輸出" << endl;
	for (int i = 0; i < len; i++)
	{
		cout << "姓名:" << heroArray[i].name << "年齡:" 
			<< heroArray[i].age << "性別:"
			<< heroArray[i].sex << endl;
		}
	//3.對數組進行排序,按年齡進行升序排序
	bubbleSort(heroArray, len);
	//4.將排序後結果打印輸出
	printHero(heroArray, len);


	system("pause");
 }

運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章