亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
保亭| 武宁县| 桦川县| 博客| 同仁县| 城口县| 金坛市| 宁德市| 农安县| 怀安县| 寿光市| 贺州市| 肥西县| 孝义市| 哈密市| 五家渠市| 岳西县| 新兴县| 濉溪县| 成武县| 巴塘县| 杂多县| 民和| 绥滨县| 合山市| 孝感市| 武夷山市| 汉沽区| 裕民县| 英德市| 镇平县| 杭州市| 平定县| 神农架林区| 四平市| 邯郸市| 阳东县| 铁岭县| 遂昌县| 全椒县| 八宿县|