用C语言对n个字符串进行选择排序算法进行升序排序
时间: 2023-05-22 14:04:06 浏览: 114
字符串排序算法比较(C语言)
以下是用C语言对n个字符串进行选择排序算法进行升序排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 假设每个字符串的最大长度为100
void swap(char *str1, char *str2) {
char temp[MAX_LEN];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
void selection_sort(char str[][MAX_LEN], int n) {
int i, j, min_idx;
for (i = 0; i < n - 1; i++) {
min_idx = i;
for (j = i + 1; j < n; j++) {
if (strcmp(str[min_idx], str[j]) > 0) {
min_idx = j;
}
}
if (min_idx != i) {
swap(str[i], str[min_idx]);
}
}
}
int main() {
char str[][MAX_LEN] = {"hello", "world", "foo", "bar", "baz"};
int n = sizeof(str) / sizeof(str[0]);
selection_sort(str, n);
for (int i = 0; i < n; i++) {
printf("%s ", str[i]);
}
printf("\n");
return 0;
}
```
这个程序使用选择排序算法对字符串进行升序排序。字符串存储在一个二维字符数组中,其中每行表示一个字符串,每列表示一个字符。对于每一对字符串,如果前面的字符串比后面的字符串大,则交换它们的位置。最终得到的字符串数组是按字母表顺序排列的。
阅读全文