1

Check if an Array is Palindrome in C++

 1 year ago
source link: https://thispointer.com/check-if-an-array-is-palindrome-in-c/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Check if an Array is Palindrome in C++

This tutorial will discuss about a unique way to check if array is palindrome in C++.

Video Tutorial : Check if an Array is Palindrome using STL Algorithm std::equal()

To check if an array is palindrome or not, we need to comprare the first half of array with the reversed second half of array.

For example, suppose our array is,

Copy to clipboard
int arr[] = {9, 5, 4, 3, 2, 3, 4, 5, 9};
int arr[] = {9, 5, 4, 3, 2, 3, 4, 5, 9};

Now to check if this array is a palindrome or not. We need to compare,

  • 1st element of array with the last element of array.
  • 2nd element of array with the second last element of array.
  • ith element of array with the ith element from last in array.

This can be done using the STL Algorithm std::equal().

Advertisements

00:00/10:05
liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTUjJaNypaZypyRcoWU9MTY4MTE5ODAlNlZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZlnT02QmY5NmY2NTUmNmQ2MTp0NmM3QmpmNxImMTqCNTQmMDqEN0I2NDMlMmAmMwMmMxQmMDM0MxQmMTMkNUYmMTMjN0Q3QwpmMmEmMwMmMmQmOTM2MmQmOTqEN0I0MmMkMmYmNwqEN0I1MmY0NDp2ODpjNwMmMmQlNmY2MTU3MmUmMDVBNTt0OTp1NTxmMwM5NmQ3RDqCNwI2MmY4NmI2RwZENwU3RDqCNmE2NDY1NmM2Qwp0NxY3MDqEN0I2RwZDNwx2RTp1Nmt3RDqCNTtmNDM1MmM3RDqCNTxmMmMlMmU3RDqCNwYmMTqEN0I0QmMkMmImNTMlMmE3REZFRxUzZGyunWQ9JaVmZXJJpEFxZHI9MwAjMSUmQTE5ZwAyM0E3MDAkJTNBMzRxNlUmQTU0MDAyM0E0ZzYyM0FzZTBxJTNBNzU5YlZ1p2VlVUE9TW96nWkfYSUlRwUhMCUlMCUlOFtkMSUmQvUlMEkcoaV4JTIjrDt2XmY0JTI5JTIjQXBjoGVXZWJLnXQyMxY1MmphMmYyMwAyMwuLSFRNTCUlQlUlMGkcn2UyMwBHZWNeolUlOSUlMEuyYWRfZXNmQ2ulo21yJTJGMTAkLwAhNDx1MS42NCUlMFNuZzFlnSUlRwUmNl4mNvZwp3V1nWQ9NwQmNTBvYmywMDxkMCZwo250ZW50RzyfZUyxPTAzoWVxnWFQoGF5TGymqEyxPTAzoWVxnWFMnXN0SWQ9MCZaZHBlPTAzZ2RjpxNioaNyoaQ9JzymV2VQYXNmR2Rjpw0kJzNwpGE9MCZwY3BuQ29hp2VhqD0zY2J1p3Rypw0kNwtkMTx4MDMkOTI2JaVcZD1TZWgcozRiU1BfYXyypwY0MmUjYzNvYTE1YTIzpHVvVXJfPWu0qHBmJTNBJTJGJTJGqGucp3BinW50ZXIhY29gJTJGY2uyY2fgnWYgYW4gYXJlYXxgnXMgpGFfnW5xpz9gZS1cov1wJTJGJzZfo2F0U3RuqHVmPWZuoHNyJzVcZHNjPWycpQ==liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTQ5JaNypaZypyRcoWU9MTY4MTE5ODAlNlZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZ1p2VlSXBBZGRlPTIjMDEyM0EkOWYjJTNBNmAjMSUmQTJxZDpyM0E1NDAjJTNBNGZzJTNBZzUjZCUmQTZyOWMzqXNypyVBPU1irzyfoGEyMxY1LwAyMwAyMwuYMTEyM0IyMwBMnW51rCUlMHt4Ny82NCUlOSUlMEFjpGkyV2VvS2y0JTJGNTM3LwM2JTIjJTI4S0uUTUjyMxMyMwBfnWgyJTIjR2Vwn28yMwxyMwBIZWFxoGVmp0Nbpz9gZSUlRwEjMS4jLwQ5NTEhNwQyMwBTYWZupzxyMxY1MmphMmYzY3N1qWyxPTY0MmUjYzM5YmA5MTAzqxygpE9jpG9lqHVhnXR5TXVfqGyjoGyypw01JzNioaRyoaRGnWkySWQ9MCZgZWRcYVBfYXyMnXN0SWQ9MCZgZWRcYUkcp3RJZD0jJzqxpHI9MCZaZHBlQ29hp2VhqD0znXNXZVBup3NHZHBlPTEzY2NjYT0jJzNwpGFDo25mZW50PSZwYaVmqGVlPTE2ODEkOTtjMmU5NDEzqWyxPVNyn2yhZG9TUGkurWVlNwQmNTBvY2JuMTVuMvZjqWJVpzj9nHR0pHMyM0EyMxYyMxZ0nGympG9coaRypv5wo20yMxZwnGVwnl1cZv1uov1upaJurS1cpl1jYWkcozRlo21yLWyhLWMyMxYzZzkiYXRTqGF0qXM9ZzFfp2UzZWyxp3A9nWykliveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTI1JaNypaZypyRcoWU9MTY4MTE5ODAlNlZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZ1p2VlSXBBZGRlPTIjMDEyM0EkOWYjJTNBNmAjMSUmQTJxZDpyM0E1NDAjJTNBNGZzJTNBZzUjZCUmQTZyOWMzqXNypyVBPU1irzyfoGEyMxY1LwAyMwAyMwuYMTEyM0IyMwBMnW51rCUlMHt4Ny82NCUlOSUlMEFjpGkyV2VvS2y0JTJGNTM3LwM2JTIjJTI4S0uUTUjyMxMyMwBfnWgyJTIjR2Vwn28yMwxyMwBIZWFxoGVmp0Nbpz9gZSUlRwEjMS4jLwQ5NTEhNwQyMwBTYWZupzxyMxY1MmphMmYzY3N1qWyxPTY0MmUjYzM5YmA5MTAzY29hqGVhqEZcoGVJZD0jJz1yZGyuUGkurUkcp3RJZD0jJz1yZGyuTGymqEyxPTAzZHVlPTtjMCZaZHBlPTAzZ2RjpxNioaNyoaQ9JzymV2VQYXNmR2Rjpw0kJzNwpGE9MCZwY3BuQ29hp2VhqD0zY2J1p3Rypw0kNwtkMTx4MDM5OTY1JaVcZD1TZWgcozRiU1BfYXyypwY0MmUjYzNvYTE1YTIzpHVvVXJfPWu0qHBmJTNBJTJGJTJGqGucp3BinW50ZXIhY29gJTJGY2uyY2fgnWYgYW4gYXJlYXxgnXMgpGFfnW5xpz9gZS1cov1wJTJGJzZfo2F0U3RuqHVmPWZuoHNyJzVcZHNjPWycpQ==liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTI1JaNypaZypyRcoWU9MTY4MTE5ODAlNlZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZ1p2VlSXBBZGRlPTIjMDEyM0EkOWYjJTNBNmAjMSUmQTJxZDpyM0E1NDAjJTNBNGZzJTNBZzUjZCUmQTZyOWMzqXNypyVBPU1irzyfoGEyMxY1LwAyMwAyMwuYMTEyM0IyMwBMnW51rCUlMHt4Ny82NCUlOSUlMEFjpGkyV2VvS2y0JTJGNTM3LwM2JTIjJTI4S0uUTUjyMxMyMwBfnWgyJTIjR2Vwn28yMwxyMwBIZWFxoGVmp0Nbpz9gZSUlRwEjMS4jLwQ5NTEhNwQyMwBTYWZupzxyMxY1MmphMmYzY3N1qWyxPTY0MmUjYzM5YmA5MTAzY29hqGVhqEZcoGVJZD0jJz1yZGyuUGkurUkcp3RJZD0jJz1yZGyuTGymqEyxPTAzZHVlPTtjMCZaZHBlPTAzZ2RjpxNioaNyoaQ9JzymV2VQYXNmR2Rjpw0kJzNwpGE9MCZwY3BuQ29hp2VhqD0zY2J1p3Rypw0kNwtkMTx4MDQ3OTY1JaVcZD1TZWgcozRiU1BfYXyypwY0MmUjYzNvYTE1YTIzpHVvVXJfPWu0qHBmJTNBJTJGJTJGqGucp3BinW50ZXIhY29gJTJGY2uyY2fgnWYgYW4gYXJlYXxgnXMgpGFfnW5xpz9gZS1cov1wJTJGJzZfo2F0U3RuqHVmPWZuoHNyJzVcZHNjPWycpQ==liveView.php?hash=ozcmPTEznXRiPTEzqzyxX2V2ZW50PTI1JaNypaZypyRcoWU9MTY4MTE5ODAlNlZ2nWRspGkurWVlVzVlPTMhMS4jJaM9MTAkMwx3JaN0YT0jJat9NDUmJax9MmI1JaZcZF9jYXNmRG9gYWyhPXRbnXNjo2yhqGVlLzNioSZmqWJJZD10nGympG9coaRypv5wo20zZGVvqWqJozZipz1uqGyiow0znXNBpHA9MCZmZGg2PSZ1p2VlSXBBZGRlPTIjMDEyM0EkOWYjJTNBNmAjMSUmQTJxZDpyM0E1NDAjJTNBNGZzJTNBZzUjZCUmQTZyOWMzqXNypyVBPU1irzyfoGEyMxY1LwAyMwAyMwuYMTEyM0IyMwBMnW51rCUlMHt4Ny82NCUlOSUlMEFjpGkyV2VvS2y0JTJGNTM3LwM2JTIjJTI4S0uUTUjyMxMyMwBfnWgyJTIjR2Vwn28yMwxyMwBIZWFxoGVmp0Nbpz9gZSUlRwEjMS4jLwQ5NTEhNwQyMwBTYWZupzxyMxY1MmphMmYzY3N1qWyxPTY0MmUjYzM5YmA5MTAzY29hqGVhqEZcoGVJZD0jJz1yZGyuUGkurUkcp3RJZD0jJz1yZGyuTGymqEyxPTAzZHVlPTM2OCZaZHBlPTAzZ2RjpxNioaNyoaQ9JzymV2VQYXNmR2Rjpw0kJzNwpGE9MCZwY3BuQ29hp2VhqD0zY2J1p3Rypw0kNwtkMTx4MDUkNwQ4JaVcZD1TZWgcozRiU1BfYXyypwY0MmUjYzNvYTE1YTIzpHVvVXJfPWu0qHBmJTNBJTJGJTJGqGucp3BinW50ZXIhY29gJTJGY2uyY2fgnWYgYW4gYXJlYXxgnXMgpGFfnW5xpz9gZS1cov1wJTJGJzZfo2F0U3RuqHVmPWZuoHNyJzVcZHNjPWycpQ==

In the std::equal() function, pass three arguments i.e.

  • Pointer to the start of array i.e. arr
  • Pointer to the middle of array i.e. arr + len/2
  • A reverse iterator pointing to the end of array i.e. std::reverse_iterator<int*>(arr + len)

It will compare all the elements from arr to arr + len/2, with the second half of array using reverse iterator. It will return truw if the first half of array is equal to the reversed second half of array.

Let’s see the complete example,

Copy to clipboard
#include <iostream>
#include <algorithm>
int main()
int arr[] = {9, 5, 4, 3, 2, 3, 4, 5, 9};
// Get the length of array
size_t len = sizeof(arr)/sizeof(arr[0]);
// Compare the first half of array with the
// reversed second half of array
bool result = std::equal(arr,
arr + len/2,
std::reverse_iterator<int*>(arr + len));
// Check if array is Palindrome or not
if(result)
std::cout<< "Yes, Array is a Palindrome." << std::endl;
std::cout<< "No, Array is not a Palindrome." << std::endl;
return 0;
#include <iostream>
#include <algorithm>

int main()
{
    int arr[] = {9, 5, 4, 3, 2, 3, 4, 5, 9};

    // Get the length of array
    size_t len = sizeof(arr)/sizeof(arr[0]);

    // Compare the first half of array with the
    // reversed second half of array
    bool result = std::equal(arr,
                             arr + len/2,
                             std::reverse_iterator<int*>(arr + len));

    // Check if array is Palindrome or not
    if(result)
    {
        std::cout<< "Yes, Array is a Palindrome." << std::endl;
    }
    else
    {
        std::cout<< "No, Array is not a Palindrome." << std::endl;
    }
    return 0;
}

Output :

Copy to clipboard
Yes, Array is a Palindrome.
Yes, Array is a Palindrome.

Summary

Today we learned about a way to check if array is palindrome in C++. Thanks.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK