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函数进行排序,并输出排序前后的结果。
请注意,这只是一个简单的示例代码,实际情况中可能需要根据具体需求做出相应的修改和扩展。