c语言

字符排序c语言的递归实现方法

小樊
81
2024-07-09 14:42:25
栏目: 编程语言

这里是一个使用递归实现字符排序的C语言代码示例:

#include <stdio.h>

void sortString(char str[]) {
    if (str[0] == '\0') {
        return;
    }
    
    for (int i = 0; str[i] != '\0'; i++) {
        for (int j = i + 1; str[j] != '\0'; j++) {
            if (str[i] > str[j]) {
                char temp = str[i];
                str[i] = str[j];
                str[j] = temp;
            }
        }
    }
    
    sortString(str + 1);
}

int main() {
    char str[] = "cbade";
    
    printf("Original string: %s\n", str);
    
    sortString(str);
    
    printf("Sorted string: %s\n", str);
    
    return 0;
}

在这个示例中,sortString函数使用递归的方法来对字符串进行排序。它会逐个比较相邻的字符,如果前一个字符大于后一个字符,则交换它们的位置。然后递归调用sortString函数,将字符串的起始位置向后移动一位,直到字符串被完全排序。最后,在main函数中打印出原始字符串和排序后的字符串。

0
看了该问题的人还看了