用C语言和指针写一个字符串排序
时间: 2023-05-29 19:01:11 浏览: 61
以下是基于选择排序算法的字符串排序代码,使用指针实现:
```c
#include <stdio.h>
#include <string.h>
void sort_strings(char *arr[], int n) {
int i, j, min_idx;
char *temp;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (strcmp(arr[j], arr[min_idx]) < 0) {
min_idx = j;
}
}
if (min_idx != i) {
// swapping pointers
temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
}
int main() {
char *strings[] = {"banana", "apple", "cherry", "dates", "figs"};
int len = sizeof(strings) / sizeof(strings[0]);
printf("Before sorting:\n");
for (int i = 0; i < len; i++) {
printf("%s ", strings[i]);
}
printf("\n");
sort_strings(strings, len);
printf("After sorting:\n");
for (int i = 0; i < len; i++) {
printf("%s ", strings[i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
Before sorting:
banana apple cherry dates figs
After sorting:
apple banana cherry dates figs
```