c语言pta6-1 字符串排序
时间: 2024-06-30 07:00:19 浏览: 183
字符串排序算法比较(C语言)
在C语言中,字符串排序通常涉及到数组或字符指针的处理。如果是指对一维字符数组按照字典序(ASCII值)进行升序或降序排序,可以使用标准库函数如qsort()或者自定义排序算法,比如冒泡排序、选择排序、插入排序或快速排序等。
以下是一个简单的使用qsort()函数对字符串数组进行排序的例子,假设我们有一个包含字符串的数组:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义比较函数,用于qsort()
int compare(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
void sortStrings(char strings[][50], int n) {
qsort(strings, n, sizeof(char*), compare);
}
int main() {
char words[] = {"apple", "banana", "cherry", "date", "elderberry"};
int numWords = sizeof(words) / sizeof(words);
// 排序数组
sortStrings(words, numWords);
// 输出排序后的结果
for (int i = 0; i < numWords; i++) {
printf("%s\n", words[i]);
}
return 0;
}
```
在这个例子中,`compare`函数是qsort()的核心,它比较两个字符串并返回相应的排序顺序。`sortStrings()`函数则调用qsort()对字符串数组进行排序。
阅读全文