中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言結構體數組怎么排序

小億
190
2023-11-03 03:35:50
欄目: 編程語言

在C語言中,可以使用標準庫函數qsort對結構體數組進行排序。下面是一個示例代碼:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 定義一個結構體
struct Person {
    char name[20];
    int age;
};

// 比較函數,用于指定排序規則
int compare(const void *a, const void *b)
{
    // 將void指針轉換為結構體指針
    const struct Person *personA = (const struct Person *)a;
    const struct Person *personB = (const struct Person *)b;
    
    // 按照年齡升序排列
    if (personA->age < personB->age) {
        return -1;
    } else if (personA->age > personB->age) {
        return 1;
    } else {
        return 0;
    }
}

int main()
{
    struct Person people[] = {
        {"Alice", 25},
        {"Bob", 20},
        {"Charlie", 30}
    };
    
    int numPeople = sizeof(people) / sizeof(people[0]);
    
    // 使用qsort函數對結構體數組進行排序
    qsort(people, numPeople, sizeof(struct Person), compare);
    
    // 輸出排序后的結果
    for (int i = 0; i < numPeople; i++) {
        printf("Name: %s, Age: %d\n", people[i].name, people[i].age);
    }
    
    return 0;
}

以上代碼使用qsort函數對people數組進行排序,根據年齡的大小進行升序排列。

0
白银市| 宜都市| 巧家县| 鸡泽县| 木兰县| 岚皋县| 栖霞市| 宁武县| 邵阳市| 晋中市| 舞阳县| 温宿县| 塔河县| 邹平县| 延长县| 西藏| 葫芦岛市| 海丰县| 宾阳县| 皋兰县| 台北市| 洪洞县| 棋牌| 报价| 杂多县| 五华县| 汶上县| 文水县| 红河县| 普格县| 武陟县| 长治市| 平南县| 泊头市| 昌宁县| 铜山县| 四川省| 杭州市| 荣成市| 麻栗坡县| 庐江县|