阅读量:0
C语言中可以使用库函数strcmp
和qsort
来对字符串进行排序。
- 使用
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
- 可以使用数组和选择排序或冒泡排序来对字符串数组进行排序。
#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
函数还是自定义排序函数,都可以对字符串数组进行排序。