C语言字符串排序的方法是什么

920
2024/5/16 17:42:15
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

C语言中可以使用库函数strcmpqsort来对字符串进行排序。

  1. 使用strcmp函数比较两个字符串的大小,然后使用qsort函数对字符串数组进行排序。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

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

int main() {
    char *strings[] = {"hello", "world", "apple", "banana"};
    int n = sizeof(strings) / sizeof(strings[0]);
    
    qsort(strings, n, sizeof(char*), compare);
    
    for (int i = 0; i < n; i++) {
        printf("%s\n", strings[i]);
    }
    
    return 0;
}

这段代码会对字符串数组strings进行排序,输出结果为:

apple
banana
hello
world
  1. 可以使用数组和选择排序或冒泡排序来对字符串数组进行排序。
#include <stdio.h>
#include <string.h>

void sortStrings(char *strings[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n; j++) {
            if (strcmp(strings[i], strings[j]) > 0) {
                char *temp = strings[i];
                strings[i] = strings[j];
                strings[j] = temp;
            }
        }
    }
}

int main() {
    char *strings[] = {"hello", "world", "apple", "banana"};
    int n = sizeof(strings) / sizeof(strings[0]);
    
    sortStrings(strings, n);
    
    for (int i = 0; i < n; i++) {
        printf("%s\n", strings[i]);
    }
    
    return 0;
}

这段代码会对字符串数组strings进行排序,输出结果为:

apple
banana
hello
world

无论是使用qsort函数还是自定义排序函数,都可以对字符串数组进行排序。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言合法常量判断的方法是什么