c语言如何判断回文数组
时间: 2023-06-16 13:04:01 浏览: 294
回文数组是指正着读和倒着读都一样的数组。判断一个数组是否是回文数组,可以采用双指针的方法,具体步骤如下:
1. 定义两个指针i和j,分别指向数组的首尾元素。
2. 使用while循环,判断i是否小于j,若是则执行下一步,否则跳出循环。
3. 判断array[i]和array[j]是否相等,若相等则将i指针向后移动一位,将j指针向前移动一位,继续执行while循环;若不相等则说明数组不是回文数组,直接返回false。
4. 如果while循环正常执行完毕,则说明数组是回文数组,返回true。
以下是C语言代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int array[], int length) {
int i = 0, j = length - 1;
while (i < j) {
if (array[i] != array[j]) {
return false;
}
i++;
j--;
}
return true;
}
int main() {
int array[] = {1, 2, 3, 2, 1};
int length = sizeof(array) / sizeof(array[0]);
if (isPalindrome(array, length)) {
printf("The array is palindrome.\n");
} else {
printf("The array is not palindrome.\n");
}
return 0;
}
```
上述代码定义了一个函数isPalindrome,该函数接受一个数组和数组长度作为参数,返回一个bool类型的值,表示该数组是否是回文数组。在main函数中,我们定义了一个数组并调用了isPalindrome函数来判断该数组是否是回文数组。如果是,则输出"The array is palindrome.",否则输出"The array is not palindrome."。
阅读全文