cshift() function for valarray in C++

The cshift() function is defined in valarray header file. This function returns a new valarray of the same size with elements whose positions are shifted circularly by n elements. If n is negative, right-shift is applied, if n is positive left-shift is applied.

Syntax:

valarray cshift (int n) const;

Parameter:

  • n: It represents the number of element to shift.

Returns: This function returns the new valarray after circularly shifting elements.

Below programs illustrate the above function:

Example 1:-

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// example of cshift() function.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Initializing valarray
    valarray<int> varr = { 3, 2, 5, 4, 1 };
  
    // Declaring new valarray
    valarray<int> varr1;
  
    // using cshift() to shift elements to left
    // shifts valarray by 3 position
    varr1 = varr.cshift(3);
  
    // Displaying elements of valarray after shifting
    cout << "The new valarray after shifting is = ";
    for (int& x : varr1)
        cout << x << " ";
    cout << endl;
  
    return 0;
}

chevron_right


Output:

The new valarray after shifting is = 4 1 3 2 5

Example 2:-

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// example of cshift() function.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Initializing valarray
    valarray<int> varr = { 3, 2, 5, 4, 1 };
  
    // Declaring new valarray
    valarray<int> varr1;
  
    // using cshift() to shift elements to right
    // shifts valarray by 3 position
    varr1 = varr.cshift(-3);
  
    // Displaying elements of valarray after shifting
    cout << "The new valarray after shifting is = ";
    for (int& x : varr1)
        cout << x << " ";
    cout << endl;
  
    return 0;
}

chevron_right


Output:

The new valarray after shifting is = 5 4 1 3 2


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.