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

溫馨提示×

c語言字符串數組如何排序

小億
140
2024-02-01 11:33:48
欄目: 編程語言

c語言中可以通過使用庫函數qsort()來對字符串數組進行排序。

qsort()函數原型為:

void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

其中,base為待排序數組的起始地址,nmemb為待排序數組的元素個數,size為每個元素的大小,compar為比較函數的指針。

比較函數的原型為:

int compar(const void *a, const void *b);

其中,ab為指向待比較元素的指針,比較函數應返回一個整數值:

  • 若返回值小于0,則a應排在b之前;
  • 若返回值大于0,則a應排在b之后;
  • 若返回值等于0,則ab的相對順序不變。

下面是一個示例代碼,演示如何使用qsort()函數對字符串數組進行排序:

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

int compare(const void *a, const void *b) {
    return strcmp(*(char **)a, *(char **)b);
}

int main() {
    char *array[] = {"apple", "banana", "orange", "grape", "lemon"};
    int length = sizeof(array) / sizeof(array[0]);

    qsort(array, length, sizeof(array[0]), compare);

    for (int i = 0; i < length; i++) {
        printf("%s\n", array[i]);
    }

    return 0;
}

輸出結果為:

apple
banana
grape
lemon
orange

該示例中,字符串數組array中存儲了5個字符串,通過調用qsort()函數對其進行排序,排序結果按照字母順序排列。

0
琼中| 马鞍山市| 驻马店市| 商南县| 丁青县| 临桂县| 新民市| 高陵县| 北海市| 甘肃省| 奉节县| 龙里县| 鸡东县| 南漳县| 黄龙县| 贺兰县| 泾阳县| 贵州省| 康马县| 南雄市| 扶沟县| 泰州市| 宣城市| 偏关县| 武威市| 峨眉山市| 襄城县| 永吉县| 客服| 南投市| 桐柏县| 苗栗市| 团风县| 华亭县| 樟树市| 通渭县| 德惠市| 巫山县| 布尔津县| 肇庆市| 行唐县|