阅读量:110
C语言中可以使用库函数strcmp和qsort来对字符串进行排序。
- 使用
strcmp函数比较两个字符串的大小,然后使用qsort函数对字符串数组进行排序。
#include
#include
#include
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 class="hljs-built_in">printf("%s\n", strings[i]);
}
return 0;
}
这段代码会对字符串数组strings进行排序,输出结果为:
apple
banana
hello
world
- 可以使用数组和选择排序或冒泡排序来对字符串数组进行排序。
#include
#include
void sortStrings(char *strings[], int n) {
for (int i = 0; i < n class="hljs-number">1; i++) {
for (int j = i + 1; j < n class="hljs-keyword">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 class="hljs-built_in">printf("%s\n", strings[i]);
}
return 0;
}
这段代码会对字符串数组strings进行排序,输出结果为:
apple
banana
hello
world
无论是使用qsort函数还是自定义排序函数,都可以对字符串数组进行排序。