在C语言中,字符串排序通常可以使用各种排序算法来实现,比如冒泡排序、选择排序、插入排序、快速排序等
#include<stdio.h>
#include<string.h>
void bubble_sort(char *str[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
char *temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
#include<stdio.h>
#include<string.h>
void selection_sort(char *str[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_index = i;
for (int j = i + 1; j < n; j++) {
if (strcmp(str[j], str[min_index]) < 0) {
min_index = j;
}
}
if (min_index != i) {
char *temp = str[i];
str[i] = str[min_index];
str[min_index] = temp;
}
}
}
#include<stdio.h>
#include<string.h>
void insertion_sort(char *str[], int n) {
for (int i = 1; i < n; i++) {
char *key = str[i];
int j = i - 1;
while (j >= 0 && strcmp(str[j], key) > 0) {
str[j + 1] = str[j];
j = j - 1;
}
str[j + 1] = key;
}
}
#include<stdio.h>
#include<string.h>
int partition(char *str[], int low, int high) {
char *pivot = str[high];
int i = low - 1;
for (int j = low; j <= high - 1; j++) {
if (strcmp(str[j], pivot) < 0) {
i++;
char *temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
char *temp = str[i + 1];
str[i + 1] = str[high];
str[high] = temp;
return i + 1;
}
void quick_sort(char *str[], int low, int high) {
if (low< high) {
int pi = partition(str, low, high);
quick_sort(str, low, pi - 1);
quick_sort(str, pi + 1, high);
}
}
这些排序算法都可以用于对C语言字符串进行排序。你可以根据具体需求和性能要求选择合适的排序算法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。