基于C语言的回文字符串排序算法

   2024-10-20 6070
核心提示:下面是一个基于C语言的回文字符串排序算法示例:#include stdio.h#include string.h// 判断是否为回文字符串int isPalindrome(ch

下面是一个基于C语言的回文字符串排序算法示例:

#include <stdio.h>#include <string.h>// 判断是否为回文字符串int isPalindrome(char *str) {    int len = strlen(str);    for (int i = 0; i < len/2; i++) {        if (str[i] != str[len-1-i]) {            return 0;        }    }    return 1;}// 字符串比较函数,用于排序int compare(const void *a, const void *b) {    return strcmp(*(char **)a, *(char **)b);}int main() {    char *strings[] = {"level", "racecar", "hello", "world", "radar", "madam"};    int n = sizeof(strings) / sizeof(strings[0]);    // 排序    qsort(strings, n, sizeof(strings[0]), compare);    // 打印排序后的回文字符串    printf("Sorted palindrome strings:\n");    for (int i = 0; i < n; i++) {        if (isPalindrome(strings[i])) {            printf("%s\n", strings[i]);        }    }    return 0;}

在这个示例中,我们定义了一个isPalindrome函数用于判断一个字符串是否为回文字符串,然后使用qsort函数对字符串数组进行排序,并且使用compare函数作为比较函数。最后打印出排序后的回文字符串。您可以根据需要修改字符串数组或者排序方式。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号