啃掉C++:基于结构体的某一数据的结构体排序
题目
按照每个人的年龄给他们排序
代码
首先创建结构体
其次运用冒泡排序
最后打印输出
//指针的定义和使用
#include<iostream>
using namespace std;
#include<string>
struct hero{
string name;
int age;
char sex;
};
// 冒泡排序
void bubble(hero s[],int len){
hero temp;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-1-i;j++){
if (s[j].age>s[j+1].age){
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
}
// 打印输出
void display(hero s[],int len){
for(int i=0;i<len;i++){
cout<<" name= "<<s[i].name;
cout<<" age= "<<s[i].age;
cout<<" sex= "<<s[i].sex<<endl;
}
cout<<"----------------------"<<endl;
}
int main(){
hero s[]={
{"ppp",20,'m'},
{"jjj",19,'y'},
{"sss",20,'y'},
{"qqq",23,'y'},
{"dsd",21,'m'}
};
int len=sizeof(s)/sizeof(s[1]);
display(s,len);
bubble(s,len);
// 这里传入的是数组的地址,所以不需要考虑到底是实参还是形参
display(s,len);
system("pause");
return 0;
}
本文来自博客园,作者:{Zeker62},转载请注明原文链接:https://www.cnblogs.com/Zeker62/p/15046246.html