C/C++结构体排序

编程修炼

Posted by YEan on May 27, 2019

C/C++结构体排序

有时候在开发中我们需要根据自己定义的某个变量对整体进行排序,这时候就需要用到结构体排序的思想:

 *问题描述:定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入5个学生的相关信息后,按照学号从小到大顺序输出这些学生的信息。
 *输入描述:先输入5名学生的信息,按学号顺序排序输出后在输入要统计的院系名称。
 *程序输出:先按学号从小到大的顺序输出学生信息)。
 */
using namespace std;
struct student //定义一个关于学生的结构体,包括姓名学号性别以及专业
{
    string name;
    int num;
    char sex;
    string major;
};
int main()
{
    struct student stu[5];//定义储存学生信息的结构体变量
    struct student temp;
    int i,j;
    for(i=0;i<5;i++)//依次输入各个学生的信息
    {
        cin>>stu[i].name>>stu[i].num>>stu[i].sex>>stu[i].major;
    }
    for(i=0;i<4;i++)//利用冒泡排序法进行学号的排序
        for(j=0;j<4-i;j++)
    {
        if(stu[j].num>stu[j+1].num)
        {
            temp=stu[j];
            stu[j]=stu[j+1];
            stu[j+1]=temp;
        }
    }
}