结构体排序


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

//定义学员
struct student {
    int age;
    string name;
    int score;
};


//冒泡排序
void sortArr(struct student studentArr[], int length) {
    for (int i = 0;i < length - 1;i++) {
        for (int j = 0;j < length - 1 - i;j++) {
            if (studentArr[j].score > studentArr[j + 1].score) {
                cout << "999" << endl;
                struct student temp = studentArr[j];
                studentArr[j] = studentArr[j + 1];
                studentArr[j+1] = temp;
            }
        }
    }

}
//输出
void printAll(struct student studentsArr[], int length) {
    for (int i = 0;i < length;i++) {
        cout << "学员姓名:"<< studentsArr[i].name;
        cout << "学员分数:" << studentsArr[i].score;
        cout << endl;
    }
}
int main() {
    /*
    2010年5月
    结构体运用例子
    */
    //随机数种子
    srand((unsigned int)time(NULL));
    //创建2名教练数组
    struct student studentsArr[2] = {
        {23,"小王",98},
        {24,"小强",39}
    };
    int length = sizeof(studentsArr) / sizeof(studentsArr[0]);

    cout << "排序前分数" << endl;
    printAll(studentsArr, length);
    sortArr(studentsArr, length);
    cout << "排序后分数:" << endl;
    printAll(studentsArr, length);
    system("pause");
    return 0;
}

结构体排序(图1)

c++

您可能还会对下面的文章感兴趣: