为什么程序运行后,没有按照年龄大小来挨个输出名字呢
#include "touwenjian.h"struct Hero
{
string name;
int age;
string sex;
};
//冒泡排序,将年龄大的排到后面
void bubblesort(struct Hero heroArray[], int len)
{
for (int len=0;len>=1;len--)
{
for (int start=1;start<=len;start++)
{
if (heroArray[start-1].age>heroArray[start].age)
{
struct Hero tmp=heroArray[start];
heroArray[start]=heroArray[start-1];
heroArray[start-1]=tmp;
}
}
}
}
//打印排序后的英雄名字
void printArray(struct Hero heroArray[],int len)
{
for (int i=0;i<len;i++)
{
cout<<heroArray[i].name;
}
}
int main()
{
//5个英雄结构体
struct Hero heroArray[5]=
{
{"刘备",23,"男"},
{"关羽",100,"男"},
{"张飞",20,"男"},
{"赵云",150,"男"},
{"貂蝉",88,"女"}
};
int len=sizeof(heroArray)/sizeof(heroArray[0]);
//调用函数
bubblesort(heroArray,len);
printArray(heroArray,len);
system("pause");
return 0;
}