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
函數還是自定義排序函數,都可以對字符串數組進行排序。