c++结构体 值传递 冒泡排序

#include<iostream>
#include <string>
using namespace std;
struct hero{
    
    
	string name;
	int  age;
	string gender;
};
void paixudayin(hero s1[],int len){
    
    
	for (int i = 0; i < len - 1; i++){
    
    
		for (int j = 0; j < len - i - 1; j++){
    
    
			if (s1[j].age>s1[j + 1].age){
    
    
				hero temp = s1[j];
				s1[j] = s1[j + 1];
				s1[j + 1] = temp;
			}
		}
	}
	for (int i = 0; i < len ; i++)
		cout << s1[i].name << s1[i].age << endl;
}
int main()
{
    
    
	hero s1[] = {
    
     {
    
     "刘备", 24, "男" }, {
    
     "关羽", 22, "男" }, {
    
     "张飞", 18, "男" }, {
    
     "lcy", 88, "nan" } };
	int len = sizeof(s1) / sizeof(s1[0]);
	paixudayin(s1,len);
	system("pause");
}

Guess you like

Origin blog.csdn.net/weixin_44884357/article/details/113808010