21xrx.com
2024-12-22 22:02:19 Sunday
登录
文章检索 我的文章 写文章
C++语言实现回文数组
2023-07-05 02:53:19 深夜i     --     --
C++ 回文 数组 实现 算法

回文数组是指正反读都相同的数组,如1, 2, 3, 2, 1或a, b, c, c, b, a都是回文数组。在计算机编程中,我们可以使用C++语言来实现回文数组的判断。

首先,我们需要定义一个数组,并给它赋值。比如,我们定义一个整型数组arr,长度为5,赋值为1, 2, 3, 2, 1。

int arr[5] = 3;

接下来,我们需要编写一个函数来判断这个数组是否为回文数组。该函数可以使用双指针算法来实现。我们可以定义两个指针,一个指向数组的开头,另一个指向数组的结尾。然后,我们可以逐个比较两个指针所指的元素是否相同。

bool isPalindrome(int arr[], int size) {

  int i = 0, j = size - 1;

  while (i < j) {

    if (arr[i] != arr[j])

      return false;

    i++;

    j--;

  }

  return true;

}

在上面的代码中,第一个参数arr是指向数组的指针,第二个参数size是数组的长度。在函数中,我们定义了两个指针i和j,初始值分别为0和size-1。然后,我们在while循环中比较i和j所指元素的值是否相等。如果不相等,则返回false,否则,继续循环。当i>=j时,循环结束,说明该数组是回文数组,返回true。

最后,我们可以调用上述函数来判断一个数组是否为回文数组。

int main() {

  int arr[5] = 1;

  if (isPalindrome(arr, 5))

    cout << "This is a palindrome array." << endl;

   else

    cout << "This is not a palindrome array." << endl;

  return 0;

}

在上面的代码中,我们按照前面定义的方式给数组赋值,并调用isPalindrome函数来判断该数组是否为回文数组。最后,根据函数的返回值输出相应的信息。

通过上述代码,我们就可以使用C++语言来实现回文数组的判断了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复