用C语言实现一个字典序排序
时间: 2023-07-20 08:15:22 浏览: 117
c语言实现字典顺序排序
5星 · 资源好评率100%
字典序排序是按照字典顺序对字符串进行排序,也就是按照字母顺序逐一比较每个字符的大小。下面是用C语言实现一个字典序排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
void swap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
void sort(char *str[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
swap(str[i], str[j]);
}
}
}
}
int main() {
char *str[] = {"hello", "world", "how", "are", "you", "doing"};
int n = sizeof(str)/sizeof(str[0]);
sort(str, n);
int i;
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
在上面的代码中,我们定义了一个 `swap` 函数用于交换两个字符,然后使用冒泡排序的方法对字符串数组进行排序。最后输出排好序的字符串数组即可。
需要注意的是,在 C 语言中,字符串是以字符数组的形式存储的,所以我们可以直接使用字符指针数组 `char *str[]` 来表示一个字符串数组。而 `strcmp` 函数可以用于比较两个字符串的大小,如果返回值为负数,则表示第一个字符串小于第二个字符串;如果返回值为正数,则表示第一个字符串大于第二个字符串;如果返回值为零,则表示两个字符串相等。
阅读全文