c语言字符串排序,使用标准库的排序方式

复制代码
#include <stdio.h>
#include <string.h>

// 比较函数,用于判断两个字符串的大小关系
int compare(const void* a, const void* b) {
    return strcmp(*(const char**)a, *(const char**)b);
}

// 字符串数组排序函数
void sortStringArray(char* arr[], int size) {
    qsort(arr, size, sizeof(char*), compare);
}

int main() {
    // 示例用法
    char* arr[] = {"apple", "banana", "carrot", "date"};
    int size = sizeof(arr) / sizeof(arr[0]);

    printf("排序之前的数组:\n");
    for (int i = 0; i < size; i++) {
        printf("%s\n", arr[i]);
    }

    sortStringArray(arr, size);

    printf("\n排序之后的数组:\n");
    for (int i = 0; i < size; i++) {
        printf("%s\n", arr[i]);
    }

    return 0;
}
复制代码

 

该示例使用了C标准库中的qsort函数来进行字符串数组的排序。首先定义了一个比较函数compare,该函数接受两个指向字符串指针的void*类型参数,并使用strcmp函数来比较字符串的大小关系。然后,在sortStringArray函数中调用qsort函数来对字符串数组进行排序,传递进去的比较函数为compare。最后在main函数中,使用示例字符串数组调用sortStringArray函数进行排序,并输出排序前后的结果。

请注意,这只是一个简单的示例代码,实际情况中可能需要根据具体需求做出相应的修改和扩展。

 

posted @   小城熊儿  阅读(252)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示