您好,登錄后才能下訂單哦!
在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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。